Вывод списка производителей в ocStore
CMS ocStore (Opencart) – отличная система для интернет магазина. Однако, многое приходится доделывать вручную, так как дополнения к разным версиям систем зачастую не подходят. Так получилось и с ocStore 2.3, когда понадобилось организовать вывод списка производителей на необходимой странице (конкретно – на странице категории товаров). Поэтому пришлось делать самостоятельно, ниже решение. Оно совсем несложное на самом деле.
Итак, все действия мы производим в файле catalog\view\theme\default\template\product\category.tpl – это файл шаблона, отвечающего за вывод товаров в категории, но решение подойдет для любой страницы в любом шаблоне. В нужное для вывода списка производителей место вставляем следующий код:
<?php $db = @mysql_connect ("localhost","логин","пароль"); mysql_select_db ("база_данных",$db); $result2 = mysql_query("SELECT * FROM `oc_manufacturer_description` ORDER BY `oc_manufacturer_description`.`name` ASC") or die (mysql_error()); while ($row2=mysql_fetch_array($result2)) { $manufacturer_id = $row2["manufacturer_id"]; $query = "manufacturer_id=".$manufacturer_id; $result3 = mysql_query("SELECT * FROM `oc_url_alias` WHERE query = '$query'") or die (mysql_error()); $row3=mysql_fetch_array($result3); echo '<a href="'.$row3["keyword"].'">'.$row2["name"].'</a>'; } ?>Как и почему это работает?
Мы напрямую подключаемся к базе данных в первых двух строках, затем запросом выбираем все в таблице oc_manufacturer_description – именно там хранятся названия производителей. Далее циклом проходим по этой таблице, берем ид производителя и еще одним запросом выбираем урл его. Ну и в конце все выводим.
Строка со вторым select может быть и не нужна, если у вас не включено ЧПУ на сайте или придется изменять, если вы используете не ocStore.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.