سؤال

أقوم بإنشاء صفحة رئيسية مخصصة لموقع الويب الخاص بي على Magento في ملف phtml باسم home_banner.phtml، والذي قمت بدوره بالإشارة إليه في محتوى CMS->الصفحات->الصفحة الرئيسية بواسطة الكود التالي

{{block type="core/template" template="theme/home_banner.phtml"}}

في ملف home_banner.phtml الخاص بي، قمت باستدعاء العلامات/popular.phtml لعرض العلامات الشائعة.

<div class="last-posts-grid clearfix">

     <?php echo $this->getLayout()->createBlock('core/template')->setTemplate('tag/popular.phtml')->toHtml(); ?>

</div>

ومع ذلك، لا يتم عرض العلامات على الرغم من استدعاء معرف علامة الربط التي تقول "عرض جميع العلامات" بشكل صحيح.تكون ul class="tags-list" مرئية أيضًا في مصدر الصفحة ولكن العلامات نفسها غير مرئية.أي اقتراحات؟

هل كانت مفيدة؟

المحلول

تحتاج إلى تغيير نوع الكتلة core/template ل tag/popular

<?php echo $this->getLayout()->createBlock('tag/popular')->setTemplate('tag/popular.phtml')->toHtml(); ?>

أو

إعطاء اسم الكتلة

{{block type="core/template" template="theme/home_banner.phtml"  name="myname"}}

ثم

باستخدام مرجع XML، قم بتضمين العلامات/popular.phtml

أنشئ ملف local.xml على app/design/frontend/youupackage/yourtemplate/layout

ضع هذا الرمز

<?xml version="1.0"?>
<layout version="0.1.0">
    <cms_index_index translate="label">
      <reference name="myname">
            <block type="tag/popular" name="home_tags_popular" template="tag/popular.phtml"/>
        </reference>
    </cms_index_index>
</layout>

ووضع الكود أدناه في home_banner.phtml

echo $this->getChildHtml('home_tags_popular');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top