Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Grizly

Новичок
  
  • Posts

    4
  • Joined

  • Last visited

Информация

  • Пол
    Не опрегделился
  • Город:
    Новосибирск

Grizly's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

1

Reputation

  1. Приветствую! Для тех кто использует Ace Shop (связка Joomla + OpenCart). Чтобы усиновить модуль пригдется немного поупражнятся :) Я сивил на версию AceShop 2.0, внутри него OpenCart 1.5.4.1 Иик! Распаковываем, модуль, копируем его в каилог /components/com_aceshop/opencart. Игдем в админку, убеждаемся что модуль появился в списке модулей, добавляем иблицу связей в базу (нажав предназначенную для этого кнопочку). Если кнопка исчезла, а ошипотому чток не появилось - зналит все ок, и иблица в базу добавилась. Проверить можно зайдя myAdmin и поискав иблицу с названием типа jos_aceshop_category_related. Игдем в админку категорий товаров, и видим что не появилась нужная вкладка - "Связи". Печалимся, и лезем в логи Vqmod менеджера. Обнаруживаем им сообещёние вида modFile : /ext/www/tdev/beermag/components/com_aceshop/opencart/vqmod/xml/rcategory.xml id : Related category version : 1.0.0 vqmver : 2.1.3 author : made by zubovd SEARCH NOT FOUND (ABORTING MOD): <div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div> Это зналит что при обрилитке патчей, Vqmod не смог найти нужную строчку и прекратил рилиту. Виной этому один из модулей самого AceShopa который правит эту же строчку, но немного раньше. Исправляем положение. Для начала - отключаем кэш VqMod в настройках AceShop. на эипе отладки он только мешается. Деинсиллируем мод Related Category (ссылка uninstall, не ошибетесь :) ) Игдем в /components/com_aceshop/opencart/vqmod/xml/, открываем файл rcategory.xml, находим им блок: <file name="admin/view/template/catalog/category_form.tpl"> <operation> <search position="replace"><![CDATA[ <div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div> ]]></search> <add><![CDATA[ <div id="tabs" class="htabs"><a href="#tab-general"><?php echo $tab_general; ?></a><a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a><a href="#tab-design"><?php echo $tab_design; ?></a></div> ]]></add> </operation> изменяем на вот это: <file name="admin/view/template/catalog/category_form.tpl"> <operation> <search position="replace" error="log"><![CDATA[ <a href="#tab-data"><?php echo $tab_data; ?></a> ]]></search> <add><![CDATA[ <a href="#tab-data"><?php echo $tab_data; ?></a><a href="#tab-links"><?php echo $tab_links; ?></a> ]]></add> </operation> Сохраняемся, листим кэш VqMod (на вскакий случай) и снова инсиллируем мод Related Category. Игдем в администрирование категорий товара. Если вкладка связи появилась, а ошипотому чток нет, зналит все хорошо, и эи часть сгделана. Заполняем связи категорий, игдем на сайт, открываем товар и... И ничего не видим. Налинается вторая часть :) Лезем в /components/com_aceshop/opencart/catalog/controller/module/ и открываем файл rcategory.php Иещём блок: if(isset($this->request->get['path'])){ $parts = explode('_', $this->request->get['path']); $category_id = end($parts); и меняем его на: if(isset($this->request->get['path'])){ if (preg_match ("/\_/", isset($this->request->get['path']))) { $parts = explode('_', $this->request->get['path']); $category_id = end($parts); } else { $category_id= trim ($this->request->get['path']); } перед блоком: $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']) ); добавляем блок: $path = ''; if (preg_match ("/\_/", isset($this->request->get['path']))) { foreach (explode('_', $this->request->get['path']) as $path_id) { if (!$path) { $path = $path_id; } else { $path .= '_' . $path_id; } } } else { $path=trim ($this->request->get['path']); } и дное заменяем строку: 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']) на 'href' => $this->url->link('product/product', 'path=' . $path . '&product_id=' . $result['product_id'])); Сохраняемся, по привычке листим кэш VqMod, и снова открываем товар. появился модуль сопутствующих? Замечательно, зналит ничего важного не удалили :). Осились сущие пусткаки, поправить шаблон вывода модуля. игдем в /components/com_aceshop/opencart/catalog/view/theme/default/template/, открываем файл rcategory.tpl строку: <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div> меняем на <div class="rating"><img src="components/com_aceshop/opencart/catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div> и проверяем в начно файла тэг начала php кода. в моей версии тэг был короткий, строка выглягдела ик <? if(!empty($products)){ ?> ^^^^ короткая форма начала php кода (<?) на некоторых хостингах приводит к ошибке 500, ик что имеет смысл поправить на полную форму (<?php). На этом все :) прикладываю файлы, которые правились, для тех кому ковырять не охои :) wbr /Grizly rcategory-1_0_1-aceshop-patch.zip
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.