Условная загрузка контента на основе идентификатора категории magento для страницы продукта - PullRequest
0 голосов
/ 22 сентября 2011

Я хочу условно загрузить контент на основе идентификатора категории на странице продукта, но не могу заставить его работать. Я знаю, что могу сделать это, вызывая пользовательский атрибут, но это не то, что я имею в виду, потому что контент предназначен специально для определенной категории, поэтому я не хочу вводить его повторно в каждом продукте для данной категории.

В основном я искал что-то вроде этого:

<?php if ($_catid = $this->getCategoryid('3')):?>
display content for category id 3 (content is entered directly in the view.phtml file)
<?php else: ?>
content for other cateogegory
<?php endif; ?>

Ваше руководство очень ценится!

Обновление для правильного кода (спасибо, ахдли):

<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();?>
<?php if($category->getId()==3): ?>

<h3>Show content for Category ID3</h3>

<?php else: ?>

<h3>Show content for other categories</h3>
<p>consectetuer adipiscing elit. </p>

<?php endif; ?>

Ответы [ 3 ]

2 голосов
/ 22 сентября 2011

Вы можете использовать что-то вроде следующего для загрузки категории:

<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();?>

Тогда вы можете получить такую ​​информацию, как:

 <?php echo $category->getName();?>
1 голос
/ 22 сентября 2011

Вы можете сделать что-то подобное в вашем шаблоне product/view.phtml:

<?php if (Mage::registry('current_category') == 3): ?>
// display content for category with the ID 3
<?php else: ?>
// content for other categories
<?php endif; ?>
0 голосов
/ 31 мая 2017

Это окончательный код и работает нормально.

 <?php if (Mage::registry('current_category') && Mage::registry('current_category')->getId() == 290) { ?>
    <?php 
        $categoryIds = $_product->getCategoryIds();                         
         $m = Mage::getModel('catalog/category')
                ->load($categoryIds[0])
                ->getParentCategory();
            echo $m->getName();
    ?>
    <?php } else ?>
    <?php if (Mage::registry('current_category') && Mage::registry('current_category')->getId() == 202) { ?>
    <?php 
        $categoryIds = $_product->getCategoryIds();                         
         $m = Mage::getModel('catalog/category')
                ->load($categoryIds[2])
                ->getParentCategory();
            echo $m->getName();
    ?>
    <?php } else { ?>
    <?php 
        $categoryIds = $_product->getCategoryIds();                         
         $m = Mage::getModel('catalog/category')
                ->load($categoryIds[1])
                ->getParentCategory();
            echo $m->getName();
    ?>
    <?php } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...