Machen Sie die PHTML -Vorlage in einen CMS -statischen Block
-
22-10-2019 - |
Frage
Ich habe einen Code der Kategorienliste der linken Seite in left_cat.phtml
Datei. Der Code ist wie unten.
<div class="block block-left-category">
<div class="block-title">
<strong><span><?php echo $this->__('Categories') ?></span></strong>
</div>
<div class="block-content">
<div class="categories-top-list no-dots">
<a class="category-top" href="#">APPLE</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">AUDIO</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">AV</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">CAMERAS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">CCTV</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">COMPONENTS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">MONITORS & TV's</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">NAS Solutions</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">PROJECTORS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">WIRELESS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">LAPTOPS & NOTEBOOKS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">NETWORKING</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">PC'S</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">PERIPHERALS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">PRINTERS & SCANNERS</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">SOFTWARE</a>
</div>
<div class="categories-top-list">
<a class="category-top" href="#">CLEARANCE</a>
</div>
</div>
</div>
Und in der XML -Datei habe ich den Code wie unten eingegeben.
<default>
<!-- Mage_Catalog -->
<reference name="left">
<block type="core/template" name="left.category.list" template="category/left_cat.phtml"/>
</reference>
</default>
Temporär Ich stelle die Kategorieliste in die PHTML -Datei ein. Aber jetzt möchte ich in einem der statischen Blocke die Kategorieliste hinzufügen und diesen Block in der XML -Datei an einem bestimmten Ort abrufen. Ich habe versucht, Lösung mit vielen Ressourcen zu finden, aber schwierig.
Lösung
Wie auf Stackoverflow beschrieben
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_identifier')->toHtml(); ?>
Andere Tipps
Im Folgenden habe ich das Beispiel, dass die neuesten Produkte auf der linken Seite hinzugefügt werden.
<default>
<reference name="left">
<block type="cms/block" name="cms_newest_product" as="cms_newest_product" output="toHtml">
<action method="setBlockId"><block_id>newest_product</block_id></action>
</block>
</reference>
</default>
Hinzufügen eines statischen Blocks zu Ihren .phtml -Dateien in Magento
Schritt 1: Gehen Sie zu Magento Admin uder CMS -> Statische Blöcke und fügen Sie einen neuen Block hinzu. Fügen Sie den Blocktitel ein, ID ID (z. B.: checkout_logo), setzen Sie den Status auf aktiviert fest, fügen Sie den Blockinhalt ein und speichern Sie den Block.
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('checkout_logo')->toHtml(); ?>
Verwenden Sie diesen Code, um den statischen Block in der PHTML -Datei aufzurufen. Dazu von Backend CMS -> Statische Blöcke und neue Block erstellen. Geben Sie die Bezeichnung für statische Block- und Passkennung in den folgenden Code an.
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_identifier')->toHtml(); ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('static block Identifier')->toHtml(); ?>
Es ist besser und sicherer, wenn man benutzt {{ }}
Zum Beispiel
Erstellen Sie Block und übergeben Sie alle Daten in diesem Block. Rufen Sie den Block so an, als würden Sie ein Widget aufrufen.
dh {{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="53"}}
wobei Block_id die ID des statischen Blocks ist, den Sie erstellt haben