2013-06-19 4 views
0

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

Теперь я пришел через несколько постов в блоге на эту тему и даже Stack сообщение форума: http://www.templatemonster.com/help/magento-listing-sub-categories-on-a-category-page.html how to display thumbnail from category using getThumbnailUrl() in Magento

Однако они оба обращения с ним по-разному. Сообщение Stack также привело меня к: http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/

Что я узнал, мне нужно было добавить функциональность для вытягивания изображения миниатюр (путь Magento). НО, это то, что мне нужно! Конечной целью здесь является использование изображения миниатюр на бэкэнд категории, а не изображение. Мы используем изображение в другом месте, как и предполагалось. Я также хотел бы получить описание категории из бэкэнда в интерфейс, чтобы добавить дополнительную информацию, такую ​​как ссылки, истинное описание и т. Д.

Если есть кто-нибудь, кто может мне помочь? Я просмотрел приведенные выше примеры и ссылки, и все же изображения Thumbnail не тянули к интерфейсу и вообще, я просто получаю какое-то странное поведение. Любые советы будут оценены по мере того, как я буду изучать это дальше.

Спасибо!

ответ

0

Пожалуйста, попробуйте ввести код. Я выполнил то же самое с этим

<?php $category_path   = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA)."catalog/category/"; ?> 
<?php if (!Mage::registry('current_category')) return ?> 
<?php $_categories = $this->getCurrentChildCategories() ?> 
<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?> 
<?php if($_count): ?> 
    <div class="static-page-listing static-page-listing1"> 
     <ul class="products-grid"> 
      <?php $num = 0; ?> 
      <?php foreach ($_categories as $_category): ?> 
       <?php if($_category->getIsActive()): 
       $num++; 
        $selImage  = "SELECT value FROM catalog_category_entity_varchar WHERE attribute_id = '126' AND entity_id = '".$_category->getId()."'"; 
        $catImage  = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchOne($selImage); 
        if(!$catImage) $catImage = "no_image.jpg"; ?> 
        <li class="category-item <?php if($num%2==0) echo 'item-right'?>"> 
         <a href="<?php echo $this->getCategoryUrl($_category) ?>"> 
         <div style="float:left; width:100%;"> 
           <img src="<?php echo $category_path.$catImage?>"> 
         </div> 
         <div> 
          <h3><?php echo $this->htmlEscape($_category->getName()) ?></h3> 
          <h6 style = "color:red;">VIEW ALL</h6> 
         </div> 
         </a> 
        </li> 

       <?php endif; ?> 
       <?php endforeach ?> 
     </ul> 
    </div> 
<?php endif; ?> 
+0

Это делает то, что я хочу, за исключением того, что он по-прежнему не тянет изображение миниатюр для категории ... любые идеи? – thatguycraig

+0

@thatguycraig Показывает изображение категории. Чтобы показать миниатюру для категории, вам нужно найти атрибут «attribute_id» из таблицы «catalog_category_entity». – Afsal

+0

Теперь мне удалось вытащить миниатюру ... Мне нужно также вытащить поле Описание категории, чтобы идти вдоль большого пальца и названия категории ... как бы добавить это к этому @Afsal? Благодаря!! – thatguycraig

0

NEW UPDATE:

Код ниже работы:

<?php echo $cur_category->getDescription(); ?> 

Однако, вы должны быть уверены, чтобы проверить областях применения! Не осознавая, что мои отдельные области хранилища не были отключены, чтобы следовать по умолчанию «All Scopes», я исправил это, и приведенный выше код работал для меня, когда он добавлен в область «ОПИСАНИЕ»!

Спасибо Stack!

ПРЕДЫДУЩИЙ UPDATE:

теперь у меня есть код работает, что я нашел в Интернете, она привлекла меня, добавив функцию, чтобы потянуть изображение категории миниатюр. Оно работает! Вот наценка для шаблона:

<div class="category-products"> 
<ul class="products-grid"> 

     <?php 
      $_categories=$this->getCurrentChildCategories(); 

      if($_categories->count()): 
       $categorycount = 0; 

      foreach ($_categories as $_category): 
      if($_category->getIsActive()): 
       $cur_category=Mage::getModel('catalog/category')->load($_category->getId()); 
       $layer = Mage::getSingleton('catalog/layer'); 
       $layer->setCurrentCategory($cur_category); 
       $catName = $this->getCurrentCategory()->getName(); 

      if ($categorycount == 0){ 
       $class = "first"; 
      } 

      elseif ($categorycount == 3){ 
       $class = "last"; 
      } 

      else{ 
       $class = ""; 
      } 
     ?> 


    <li class="item <?=$class?>"> 
     <a href="<?php echo $cur_category->getURL() ?>" title="<?php echo $this->htmlEscape($cur_category->getName()) ?>"> 
      <img src="<?php echo $cur_category->getThumbnailUrl() ?>" width="100" alt="<?php echo $this->htmlEscape($cur_category->getName()) ?>" /> 
     </a> 

     <h2> 
      <a href="<?php echo $cur_category->getURL() ?>" title="<?php echo $this->htmlEscape($cur_category->getName()) ?>"> 
       <?php echo $this->htmlEscape($cur_category->getName()) ?> 
      </a> 
     </h2> 

     <p> 
      DESCRIPTION 
     </p> 
    </li> 

     <?php 
      endif; 
      if($categorycount == 3){ 
       $categorycount = 0; 

       echo "</ul>\n\n<ul class=\"products-grid\">"; 
      } 

      else{ 
       $categorycount++; 
      } 

      endforeach; 
      endif; 
     ?> 

</ul> 

Теперь, когда вы видите «ОПИСАНИЕ,» Я хотел бы вывести данные описания категории из бэкэнда и иметь его выход есть. В принципе, позволяет динамическое создание/пересмотр страниц категории верхнего уровня.

Как я могу вытащить описание? Я не специалист в Magento, может быть, мне не хватает чего-то основного, но я не могу заставить его работать.

Спасибо!

Смежные вопросы