Descrizione rapida: sto cercando di restituire i risultati da uno specifico insieme di blocchi statici in un file phtml (che viene quindi richiamato da una pagina cms) in Magento.Magento - Come si fa a restituire risultati di un numero illimitato di blocchi CMS statici (con alcune "Identifier") ad un CMS pagina
Nota: Ho cercato su google e alcune risposte mi hanno avvicinato agli altri ma nulla di quello che ho provato sembra funzionare al 100%?
Dettagli:
ho già una serie di blocchi statici specifici che tutti iniziano con un identificatore di testimonial-
. Ad esempio, ogni blocco statico è simile al seguente: testimonial-1
, testimonial-2
, testimonial-3
e così via. Ho un totale di sul mio sito di sviluppo (più sul sito dal vivo, ma qui non c'è alcuna conseguenza).
Ho un CMS pagina con il codice di tirare nel file name.phtml
(posizione del mio file phtml è qui: app/design/frontend/[pacchetto]/[modello]/template/page/):
{{block type="core/template" template="page/name.phtml" title="Others Say:" identifier="testimonial-"}}
Ecco il mio codice per il file .phtml:
<?php
// add the collection with filters
$collection = Mage::getModel('cms/block')->getCollection()
->addFieldToFilter('identifier', array('like'=>'testimonial'.'%'))
->addFieldToFilter('is_active', 1);
// get the count
$blockCount = $collection->count();
echo 'Block Count: ' . $blockCount . '<br />'; // just for testing
$blockNum = 1;
foreach($collection as $key => $value){
$_blockId = $this->getIdentifier();
$block_ID = $_blockId . $blockNum;
echo "Key: " . $key . " - " . "Block ID: " . $block_ID . "<br />";
$blockNum++;
}
$_block = $this->getLayout()->createBlock('cms/block')->setBlockId($block_ID);
if ($_block) :
?>
<div class="block block-testimonial">
<div class="block-title">
<strong><?php echo $this->getTitle(); ?></strong>
</div>
<div class="block-content">
<?php echo $_block->toHtml(); ?>
</div>
Il ciclo foreach($collection as $key => $value)
stampe fuori questo:
Key: 27 - Block ID: testimonial-1
Key: 28 - Block ID: testimonial-2
Key: 29 - Block ID: testimonial-3
Key: 30 - Block ID: testimonial-4
Key: 31 - Block ID: testimonial-5
che è buono.
Tuttavia, l'unico blocco che viene emesso è l'ultimo blocco (testimonial-5
). Dato che sto cercando di elencare tutti i blocchi di testimonianze,, come posso echeggiare ogni id di blocco nella pagina?
Vacci piano, sono un principiante di php.
Sapevo che era uno stupido errore da parte mia! Grazie! – Geoff