Как сделать изображение категории ссылкой - PullRequest
0 голосов
/ 17 ноября 2009

возможно ли превратить изображение основной категории, которое вы установили на вкладке Общая информация, в ссылку?

Отображается как:

<img src="http://www.example.com/media/catalog/category/example.jpg" alt="Example" title="Example" class="category-image" />

Возможно, есть расширение для этого? Просто нехорошо иметь главный баннер, на который нельзя кликать ...

Ответы [ 3 ]

3 голосов
/ 02 ноября 2012

Нет четкого ответа, но вот как мы смогли это сделать в Magento 1.7.0.2:

В файле app / design / frontend / base / default / template / catalog / category / view.phtml есть следующие строки, добавляющие изображение:

if ($_imgUrl = $_category->getImageUrl()) {
    $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this-    >htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /> </p>';
    $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
}

Это в основном говорит: если есть изображение - создайте необходимый HTML для его отображения.

Вы можете воссоздать эти же строки и добавить оператор if:

  if ($_imgUrl = $_category->getImageUrl()) { 
//Add this, which reads: if the following text exists in the file name of the category image then create html with a link for that specific text
    if(substr($_imgUrl,-20)=="some-systematic-identification-text"){
        $_imgHtml = '<p class="category-image"><a href="http://www.MY_SITE_URL.com" target="_blank"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></a></p>';
    }
//Add this to check for more text
    else if(substr($_imgUrl,-20)=="some-OTHER-systematic-identification-text"){
         $_imgHtml = '<p class="category-image"><a href="http://www.MY_SITE_URL.com" target="_blank"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></a></p>';
     }
//Otherwise - just add the standard html that was there before we made changes
    else{$_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></p>';}
//Part of if-category image - if statement          
    $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
    }

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

1 голос
/ 18 ноября 2013

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

<a href="<?php echo $subcat->getUrlPath();?>"><img src="<?php echo Mage::getBaseUrl()."media/catalog/category/".$subcat->getThumbnail() ?>"/></a>
0 голосов
/ 18 ноября 2009

Хотите ли вы связать его с той же категорией или с другой страницей? Вы можете попробовать этот взломать ...

Изображения категорий загружаются по телефону

    <p><?php echo $_imgHtml?></p>

в файле шаблона \ catalog \ category \ view.phtml.

Вы можете внести следующее изменение и жестко закодировать ссылку или использовать динамическую ссылку.

    <p><a href="#"><?php echo $_imgHtml?></a></p>

Если вы хотите связать ее с текущей категорией, вы можете назначить функцию URL текущей категории переменной $ и использовать ее в качестве ссылки.

$_category->getUrl()

Если у вас есть конкретные требования, прокомментируйте ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...