سؤال

أقوم بإنشاء متجر Magento وأريد أن أكون قادرًا على عرض قائمة الفئات وربط كل فئة بصفحتها الخاصة.

لدي فئة "العلامات التجارية" بمعرف 42 وأريد عرض قائمة بالفئات الفرعية والتأكد من أن كل واحدة منها ترتبط بمفتاح URL المخصص في نظام إدارة المحتوى.

هل لدى أي شخص خبرة في القيام بذلك مع Magento؟

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

المحلول

إذا كنت راضيا عن التعديل الموضوع الخاص بك، وهذا مقتطف شفرة تجلب لك قائمة بجميع فئات فرعية من الفئة الحالية (من الدورة، لذلك هذا يجب أن تعمل في أي مكان في الموضوع الخاص بك). أنا عادة استخدام هذا التطبيق في / تصميم / الواجهة / الافتراضي / <م> THEME_NAME /template/catalog/category/view.phtml

<?php
$_category  = $this->getCurrentCategory(); 
$collection = Mage::getModel('catalog/category')->getCategories($_category->entity_id);
$helper     = Mage::helper('catalog/category');
?>

<ul>
    <?php foreach ($collection as $cat):?>
            <?php if($_category->getIsActive()):?>
                <?php 
                     $cur_category = Mage::getModel('catalog/category')->load($cat->getId());
                     $_img = $cur_category->getImageUrl();  
                ?>
                <li>
                    <a href="<?php echo $helper->getCategoryUrl($cat);?>">
                         <img src="<?php echo $_img?>" title="<?php echo $cat->getName();?>"/>
                         <cite><?php echo $cat->getName();?></cite>
                    </a>
                </li>
            <?php endif?>
    <?php endforeach;?>
</ul>

نصائح أخرى

إذا كنت ترغب في عرض فئات أعلى مستوى والفئات الفرعية U يمكن أن تفعل مثل هذا ..

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
    <?php foreach($_categories as $_category): ?>
        <li>
            <a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
                <?php echo $_category->getName() ?>
            </a>
            <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
            <?php $_subcategories = $_category->getChildrenCategories() ?>
            <?php if (count($_subcategories) > 0): ?>
                <ul>
                    <?php foreach($_subcategories as $_subcategory): ?>
                        <li>
                            <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
                                <?php echo $_subcategory->getName() ?>
                            </a>
                        </li>
                    <?php endforeach; ?>
                </ul>
            <?php endif; ?>
        </li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>

لعرض أعلى مستوى فئات وفئات فرعية الحالية يمكنك القيام به مثل ....

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
<?php if (count($_categories) > 0): ?>
<ul>
    <?php foreach($_categories as $_category): ?>
        <li>
            <a href="<?php echo $_helper->getCategoryUrl($_category) ?>">
                <?php echo $_category->getName() ?>
            </a>
            <?php if ($currentCategory && $currentCategory->getId() == $_category->getId()): ?>
                <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
                <?php $_subcategories = $_category->getChildrenCategories() ?>
                <?php if (count($_subcategories) > 0): ?>
                    <ul>
                        <?php foreach($_subcategories as $_subcategory): ?>
                            <li>
                                <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
                                    <?php echo $_subcategory->getName() ?>
                                </a>
                            </li>
                        <?php endforeach; ?>
                    </ul>
                <?php endif; ?>
            <?php endif; ?>
        </li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>

هذا السؤال يتطلب إجابة طويلة.سأوجهك إلى الأماكن الصحيحة.

1) الحل الأفضل هو استخدام الامتداد المجاني.لم أجربه، لكنه سيفي بالغرض.سيتعين عليك القيام ببعض عمليات CSS لتحقيق الشكل والمظهر المناسبين.

http://www.magentocommerce.com/extension/1562/magento-easy-catalog-imagesالعرض التوضيحي: http://extension01.templates-master.com/gb/electronics.html

2) لا أثق في الوحدات لأنه قد يصبح من الصعب ترقيتها إذا قرر البائع التوقف عن دعمها.لقد استخدمت المعلومات من موضوع المنتدى التالي لإنشاء مواقع متعددة.الق نظرة...قد لا يكون على التوالي إلى الأمام.قد يتعين عليك عمل بعض النسخ من الملفات الأساسية إلى الدليل المحلي.

http://www.magentocommerce.com/boards/viewthread/3770/P30/

نأمل أن يكون هذا مفيدًا لك :)

وأنا جعلت هذا الفيديو قليلا عن كيف خلق فئة مخصصة إدراج كتل مع الماجنتو. أنا متأكد من أن هناك طرق أفضل لتحقيق ذلك أو حتى شيء يمكن القيام به على نحو أفضل، ولكن هذا مجرد طريقة بلدي. أنا خلقت فقط هذا هو على أمل أن تساعد في تفسير سمثينغس لبعض الناس هناك.

الماجنتو مخصص الفئة قائمة كتلة

وشكرا!

وبعد النظر في جميع الحلول على موقع الماجنتو، لقد وجدت الحل الذي wookiehangover إلى ما فوق عملت واستغرق حوالي 8 ثوان لتنفيذها.

ويخلق UL التي يمكنك الاسلوب. شكر.

وبعد إنشاء كتلة ثابت يمكنك الحصول على أي قائمة فرعية حسب هذا السيناريو:     

        $_helper = Mage::helper('catalog/category');
        $_category = Mage::getModel('catalog/category')->load(5);
        $_subcategories = $_category->getChildrenCategories();

        if (count($_subcategories) <= 0) { return; }

        $count = 0;

        foreach($_subcategories as $_category) {     
                                                      $category = Mage::getModel('catalog/category')->load($_category->getId());

                                                      $ret->{"object_".$count} ->url  = $_helper->getCategoryUrl($_category);
                                                      $ret->{"object_".$count} ->name = $_category->getName();
                                                      $ret->{"object_".$count} ->id =  $_category->getId(); 
                                                      $ret->{"object_".$count} ->image =   $category->getImageUrl();
                                                      $count++;
                                                   } 

        return $ret;                                          

        } 


$list = list_subcategories(5);

echo "<pre>"; print_r($list); echo "</pre>";
?>

وماذا عن سرد فقط الفئات التي تنتمي إلى العنصر الحالي. ليس كل الفئات على الصفحة.

ولكن في شجرة مثل الرأي.

وفئات - جنوب القط 1 فئات 2 - شبه القط 1 - الباطن القط 1

وBR اللاعب Cveto

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top