Перейти к содержанию
V4mp

Править модуль "Категории" - неактивная ссылка на саму себя

Рекомендуемые сообщения

ocStore 1.5.5.1.1
В связи с требованиями СЕО, сделал в родном модуле "Категории" ссылки неактивными на саму себя + раскрыл все категории. 
Модуль вывожу и на товаре - продвигаю категории в поисковиках.

Структура: категория - подкатегория - товар
 
Так вот именно на товаре неактивна ссылка подкатегории, которой принадлежит товар, это очень неудобно для юзабилити, тем более что магазин для женщин :(

Как сделать чтобы ссылка подкатегории была активной на карточке товара?
 
Код vQmode файла: 

<modification>
	<id><![CDATA[display all subcategories on category module 1.5.5.x]]></id>
	<version><![CDATA[1.1]]></version>
	<vqmver><![CDATA[2.2.1]]></vqmver>
	<author><![CDATA[Chetan Paliwal ( ChetanCx on OC  community forums)]]></author>
	<file name="catalog/view/theme/*/template/module/category.tpl">
		<operation>
			<search position="replace" offset="32"><![CDATA[<div class="box">]]></search>
			<add><![CDATA[<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <ul class="box-category">
      <?php foreach ($categories as $category) { ?>
      <li>
	  <?php if ($category['category_id'] == $category_id && !$child_id) { ?>
	    <span class="active" style="
         font-family: 'PT Sans Narrow', 'sans-serif';
         color: #FFF;
         font-size: 22px;
         padding: 3px 0px 20px 11px;
         width: 177px;
         margin: -3px;
         border-top: 1px solid #FFF;
         background-color: #99AFAF;
         display: block;
         ;
         border-top-left-radius: 16px;"> 
        <?php echo $category['name']; ?></span>
		<?php } elseif ($category['category_id'] == $category_id && $child_id) { ?>
        <a href="<?php echo $category['href']; ?>" class="active" ><?php echo $category['name']; ?></a>
		<?php } else { ?>
        <a href="<?php echo $category['href']; ?>" class="active" ><?php echo $category['name']; ?></a>
        <?php } ?>
        <?php if ($category['children']) { ?>
        <ul>
          <?php foreach ($category['children'] as $child) { ?>
          <li>
            <?php if ($child['category_id'] == $child_id) { ?>
			<span class="active"><?php echo $child['name']; ?></span>
            <?php } else { ?>
            <a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a>
            <?php } ?>
          </li>
          <?php } ?>
        </ul>
        <?php } ?>
      </li>
      <?php } ?>
	  <li><a href="http://top-shopping.com.ua/specials" style="
           margin-top: 2px;
           ">СКИДКИ !!!</a>
	  </li>
    </ul>
  </div>
</div>]]></add>
		</operation>
	</file>
</modification>

Ссылка на товар - http://top-shopping.com.ua/platya-new/vesna-leto/platye-00301-9135/

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть создать чистый стандартный клон Категорий, отключить исправленный модуль на товарах, и вывести клон на товарах без неактивных ссылок? Только как реализовать х3, бьюсь над данным вопросом уже неделю, гугл не знает ответа(

Хотя что-то мне подсказывает, что решение будет достаточно простым  :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решение суперпросто: ваш vqmod редактирует шаблон, а ссылка формируется в контроллере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, но у меня познания программирования крайне слабые, боюсь напортачить, могли бы вы выложить измененный код контроллера? Вопрос крайне интересный, многие скажут вам спасибо за развернутый ответ  :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот нужный кусок кода контроллера, что тут нужно сделать? 

class ControllerModuleCategory extends Controller {
	protected function index($setting) {
		$this->language->load('module/category');
		
    	$this->data['heading_title'] = $this->language->get('heading_title');
		
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}
		
		if (isset($parts[0])) {
			$this->data['category_id'] = $parts[0];
		} else {
			$this->data['category_id'] = 0;
		}
		
		if (isset($parts[1])) {
			$this->data['child_id'] = $parts[1];
		} else {
			$this->data['child_id'] = 0;
		}
							
		$this->load->model('catalog/category');

		$this->load->model('catalog/product');

		$this->data['categories'] = array();

		$categories = $this->model_catalog_category->getCategories(0);
Пробовал различные комбинации 0 или 1 - результата нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите пожалуйста, очень надо  :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.