Есть две категории товаров, 1. Машины 2. Запчасти И в этих категориях, в карточке товара есть вкладка, похожий товар. Как сделать так, чтобы в карточке товара (категории машины) вкладка называлась "Автозапчасти" а в карточке товара (категории запчасти) вкладка называлась "Подходит к моделям" тобиш одна и таже вкладка, только в разных категориях разные название вкладки.
Для начала нужно в языковые файлы добавить значения: Автозапчасти, Подходит к моделям. Затем в файле product.php или product.tpl проверять в какой категории находится данный товар (можно через if else или switch) и выводить значения Ваши значения
попробывал так но что то не выходит..... что не так? < ?php if ($categorie['category_id']=='20') echo "<a href="#tab-related"><?php echo $tab_related1; ?> (<?php echo count($products); ?>)</a>"; else { echo"<a href="#tab-related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>"; } ?>
в файле catalog\controller\product\product.php найдите строку PHP: $category_info = $this->model_catalog_category->getCategory($path_id); под нее вставьте PHP: if ($category_info['category_id']=='20'){ $this->data['mycategoryname'] = 'переменная1 из языкового файла'; } else { $this->data['mycategoryname'] = 'переменная2 из языкового файла'; } а в файле product.tpl в нужном вам месте вставьте PHP: <?php echo $mycategoryname; ?>
ввел в контролер а в тпл ошибку пишет Notice: Undefined variable: mycategoryname in Z:\home\test1.ru\www\catalog\view\theme\default\template\product\product.tpl on line 238
Savok32, у Вас ссылки на продукт такого route=product/product&path=59&product_id=69 вида? если у вас ЧПУ то данный метод работать не будет
такова вида, http://test1.ru/index.php?route=product/product&product_id=43 но надо чтобы с чпу работало --- Добавлено, 19 сен 2013 --- так причем ссылки на продукты, если мне нужно знать только id категории и все и уже по id категории выводить ту или иную вкладку
Пока удалите мои изменения --- Добавлено, 19 сен 2013 --- в файле catalog\controller\product\product.php найдите строку PHP: $this->load->model('catalog/product'); под нее вставьте PHP: $product_categories = $this->model_catalog_product->getCategories($product_id); if ($product_categories[0]['category_id']=='20'){ $this->data['mycategoryname'] = 'переменная1 из языкового файла'; } else { $this->data['mycategoryname'] = 'переменная2 из языкового файла'; } а в файле product.tpl в нужном вам месте вставьте PHP: <?php echo $mycategoryname; ?> --- Добавлено, 19 сен 2013 --- В зависимости от того какой url на продукт по разному можно получить id категории
и так что вышло... в контролер прописали Код: if ($product_categories[0]['category_id']=='20'){ $this->data['mycategoryname'] = '$tab_related'; } else { $this->data['mycategoryname'] = '$tab_related1'; } в тпл Код: <a href="#tab-related"> <?php echo $mycategoryname; ?> (<?php echo count($products); ?>)</a> все норм только название остается $tab_related1 или $tab_related Код: if ($product_categories[0]['category_id']=='20'){ $this->data['mycategoryname'] = 'Вкладка 1'; } else { $this->data['mycategoryname'] = 'Вкладка 2'; } то работает.... а чет не пойму вставляю переменные языковых файлов не работает
вызов из языкового файла происходит так PHP: $this->language->get('mycategoryname'); измените код в контроллере на PHP: if ($product_categories[0]['category_id']=='20'){ $this->data['mycategoryname'] = $this->language->get('tab_related'); } else { $this->data['mycategoryname'] = $this->language->get('tab_related1'); } в языковом файле добавьте след. PHP: $_['tab_related'] = 'бла бла';$_['tab_related1'] = 'бла1 бла1 '; --- Добавлено, 19 сен 2013 --- P.S. проверьте все на работоспособность на нескольких страницах товаров т.к. это самый натуральный КОСТЫЛЬ!
да вроде работает, только вот пустые вкладки он тоже отображает!!! в тпл так прописываю Код: <a href="#tab-related"> <?php echo $mycategoryname; ?> (<?php echo count($products); ?>)</a>