Нужна помощь, как вывести в шаблоне catalog-view-theme-тема-product-product.tpl доп.поля.
Я сделала схему, по которой можно в админке к продукту добавить не только простые текстовые поля, но выпадающие меню с вариантами + к ним подразделы в меню админки, в которых можно вводить значения.
Выглядит это аналогично списку стран или списку статусов товара. Вот пример:
1) как выглядит в меню
2) список вариантов
3) форма вненсения варианта
4) как выглядит в форме внесения товара
Схема в приаттаченном файле АДМИНКА, дополнительные выпадающие поля продукта - С НУЛЯ.txt.
В чем, собственно, затык, для примера, в MySQL таблице product создано поле zhanr_id, хранящее id, + две отдельные таблицы zhanr и zhanr_to_store. Собственно, в таблице zhanr и прописано соответствие zhanr_id конкретному полю (name).
Не могу понять, что мне нужно прописать в:
1) catalog-controller-product-product.php
2) catalog-model-catalog-product.php
чтобы в catalog-view-template-тема-template-product-product.tpl, к примеру, код:
<?php echo $text_zhanr; ?> <?php echo $zhanr; ?>
выводил такое: ЖАНР: сказка (ясное дело, тот жанр, который был указан в поле товара/книги), то есть через zhanr_id обращался к таблице zhanr и вытаскивал оттуда нужную строку.
Сейчас у меня так прописано:
в catalog-controller-product-product.php
$this->data['text_zhanr'] = $this->language->get('text_zhanr');
$this->data['zhanr'] = $product_info['zhanr'];
в catalog-model-catalog-product.php в строке
$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$customer_group_id . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$customer_group_id . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM " . DB_PREFIX . "product_reward pr WHERE pr.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "') AS reward, (SELECT ss.name FROM " . DB_PREFIX . "stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "') AS stock_status,
после stock_status добавлено:
(SELECT ss.name FROM " . DB_PREFIX . "zhanr ss WHERE ss.zhanr_id = p.zhanr_id) AS zhanr,
в catalog-language-russian-product-product.php добавлено:
$_['text_zhanr'] = 'ЖАНР:';
но нифига не выводит кроме слова "ЖАНР:", какой именно жанр - не показывает.
Ткните носом, где ошибка! Уже по аналогии всё перерыла не вижу :( в программировании пока еще профан