Opencart: глобальный файл локализации
Очевидно, но тем не менее постоянно забывается. Файл локализации language/language.php - содержит переменные, которые доступны на всем плацдарме.
Opencart: маленький хак показывает все дерево категорий в модуле
В стандарте слева показываются категории. В стандарте опять-таки - только рутовые.
Открываем catalog/controller/module/category.php
Находим:
protected function getCategories($parent_id, $current_path = '') { $category_id = array_shift($this->path); $output = ''; $results = $this->model_catalog_category->getCategories($parent_id); if ($results) { $output .= '<ul>'; } foreach ($results as $result) { if (!$current_path) { $new_path = $result['category_id']; } else { $new_path = $current_path . '_' . $result['category_id']; } $output .= '<li>'; $children = ''; if ($category_id == $result['category_id']) { $children = $this->getCategories($result['category_id'], $new_path); } if ($this->category_id == $result['category_id']) { $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path) . '"><b>' . $result['name'] . '</b></a>'; } else { $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path) . '">' . $result['name'] . '</a>'; } $output .= $children; $output .= '</li>'; } if ($results) { $output .= '</ul>'; } return $output; }
Заменяем на:
protected function getCategories($parent_id, $current_path = '') { $output = ''; $results = $this->model_catalog_category->getCategories($parent_id); if ($results) { $output .= '<ul>'; } foreach ($results as $result) { if (!$current_path) { $new_path = $result['category_id']; } else { $new_path = $current_path . '_' . $result['category_id']; } $output .= '<li>'; $output .= '<a href="' . $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path) . '">' . $result['name'] . '</a>'; $output .= $this->getCategories($result['category_id'], $new_path); $output .= '</li>'; } if ($results) { $output .= '</ul>'; } return $output; }
Получаем дерево)
Модули и дополнения к Opencart
Помимо тех, что есть на оффсайте
Платные:
Несколько реально ценных модов. Например, Layeres Navigation
http://spotonsolutions.net/OpenCart-Mods/commercial-mods
Красивый модуль слайдшоу для главной, но 30 бачей, на мой вкус, многовато:
http://store.jaygilford.com/index.php?route=product/product&path=35_37&product_id=51
Эта небольшая с точки зрения extensions.joomla.org например)) коллекция платных модов - самый крупный репозиторий для опенкарта:
http://theqdomain.com/ocstore/opencart_mods
Создание модуля для Opencart — по-простому
Эта статья - перевод текста с оффсайта
Opencart использует классическую модель MVC (Model View Controller). MVC отделяет котлеты от мух и позволяет разработчикам легко поддерживать код и расширять его отдельными небольшими кусочками, вместо того, чтобы разбирать и пилить огромные коллекции взаимозависимых классов и функций, густо сдобренных html. Перед началом разработки под Opencart авторы крайне рекомендуют ознакомиться с общими принципами MVC, например, вот в Wikipedia.
Opencart — начинаем
Начнем с простого. Найти достойный движок для e-commerce "из коробки" - практически нереально. Все скрипты нижнего уровня ногами растут из osCommerce, и это неизбывное зло. Потому что osCommerce страдал и страдает всеми адскими недугами прошлого века. Он сложен в обслуживании, он не масштабируется, он криво написан, он дыряв, он тупо не красив внутри.
Из всех оскоммерс-лайк скриптов - я остановился на Opencart. Это достойный клон оскоммерса, переписанный с нуля в стиле новой эпохи. MVC, шаблоны, нормальные локализации, тонкий тюнинг, jQuery и прочие радости. Однако информации по нему невероятно мало. То есть практически нет в рунете. Кроме этого опенкарт страдает от родства с оскоммерсом и наследует некоторые его проблемы, поэтому я выбирая Opencart - беру в руки напильник и пилю. К концу июня 2010 я выложу тут допиленную версию Opencart, и это станет веткой от Opencart 1.4.7, которая будет развиваться отдельно. Потому что, увы, как и osCommerce опенкарт - не модулен, и поправить что-нибудь одно и не потерять это при обновлении - не выйдет.
А пока начнем с пачки ссылкок:
http://opencart.com - оффсайт. Растет и развивается, репозиторий плагинов набивается. Форум - англоязычный.
http://myopencart.ru/ - вот тут ребята объявили о том, что это русский дом опенкарта. Жаль, что мало всего. Но локализированную версию можно качать. В остальном пусто.
Самая страшная беда - нет шаблонов... почти никаких нет: ни хороших, ни плохих. А те, что есть - платные.
http://www.opencart-templates.com/index.php?route=product/category&path=41 - шаблоны в пределах $15
http://style.st/opencart-template-leonardo-white - отличная тема (+ в другом цвете) - 50 евро...
http://www.algozone.com/opencart-templates.php?manufacturers_id=30&sort=3a&page=1 - три страницы шаблонов по $140. Похоже, что это template-monster портированный под опенкарт.
http://www.opencartstore.com/OpencartTemplates - четыре зачетные темы по 15 баксов.
http://www.eshopalot.com/index.php?route=product/product&product_id=69 - одна, а жаль. $10.
http://www.alreadymade.com/shop/index.php?route=product/category&path=37_26 - есть несколько приятных... от одного до двадцати долларов.
http://opencarttheme.co.uk/index.php?route=product/category&path=39 - бритиши умеют делать. ничего особенного, но красиво. цены в фунтах - около десяти за штуку.
Но есть и приятные вещи:
http://forum.opencart.com/viewtopic.php?f=21&t=14579 - изящная тема. free. одна из 14 доступных на оффсайте. Почти все остальные - уродливы, как моя пятка...
http://scriptmafia.org/templates/15204-opencart-electronics-template.html - warez
http://www.evohosting.co.uk/blog/web-development/opencart/best-free-opencart-themes/ - подборка фришных тем для опенкарта. качнул все)