Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Grizly

Новачок
  
  • Публікації

    4
  • З нами

  • Відвідування

Інформація

  • Стать
    Не определился
  • Місто:
    Новосибирск

Grizly's Achievements

Newbie

Newbie (1/14)

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

Recent Badges

1

Репутація

  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
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.