svetnik Опубліковано: 11 січня 2019 Share Опубліковано: 11 січня 2019 Добрый день! Необходимо в карточке товара вывести все атрибуты. Как это сделать? Решение для опенкарт 3 не могу найти. Надіслати Поділитися на інших сайтах More sharing options...
PaulKravchenko Опубліковано: 11 січня 2019 Share Опубліковано: 11 січня 2019 так скопируйте просто код из таба характеристик (атрибутов), хоть так же таблицей, хоть меняйте оформление как нравится вот это можете разместить там где нужно показать атрибуты: <table class="table table-bordered"> {% for attribute_group in attribute_groups %} <thead> <tr> <td colspan="2"><strong>{{ attribute_group.name }}</strong></td> </tr> </thead> <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> {% endfor %} </table> Не забудьте потом обновить кеш модификаторов и кеш шаблона на главной в настройках разработчика 1 Надіслати Поділитися на інших сайтах More sharing options... svetnik Опубліковано: 11 січня 2019 Автор Share Опубліковано: 11 січня 2019 Большое спасибо! 1 Надіслати Поділитися на інших сайтах More sharing options... 2 months later... grangel Опубліковано: 26 березня 2019 Share Опубліковано: 26 березня 2019 (змінено) вставил ваш код сюда: catalog/view/theme/default my/template/product/category.twig и сюда catalog/view/theme/default my/template/extension/module/featured.twig вот этот код показывается: <table class="table table-bordered"></table> А инфы про атрибутов нет =( opencart Version 3.0.3.1 (rs.2) P.S. обновил и выключил потом кеш и обновлял модули. P Змінено 26 березня 2019 користувачем grangel 1 Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 26 березня 2019 Share Опубліковано: 26 березня 2019 (змінено) 4 часа назад, grangel сказал: вставил ваш код сюда: catalog/view/theme/default my/template/product/category.twig и сюда catalog/view/theme/default my/template/extension/module/featured.twig Конечно не будет там показываться. На странице товаров есть данные об атрибутах, то есть они получаются соответствующим контроллером, а на странице категорий и в модуле рекомендуемых их не будет так как контроллеры не получают атрибуты товара. Сейчас нет возможности проверить на 3.х, но можете попробовать добавить в контроллер категории (catalog/controller/product/category.php) в массив данных товара: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']) если взлетит, то по аналогии и с рекомендуемыми добрался до 3.х)) 1. catalog/controller/product/category.php найти: 'product_id' => $result['product_id'], добавить перед: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 2. catalog/view/theme/default/template/product/category.twig найти: <p>{{ product.description }}</p> добавить после: <table class="table table-bordered"> {% for attribute_group in product.attribute_groups %} <thead> <tr> <td colspan="2"><strong>{{ attribute_group.name }}</strong></td> </tr> </thead> <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> {% endfor %} </table> 3. catalog/controller/extension/module/featured.php найти: 'product_id' => $product_info['product_id'], добавить перед: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($product_info['product_id']), 4. catalog/view/theme/default/template/extension/module/featured.twig найти: <p>{{ product.description }}</p> добавить после: <table class="table table-bordered"> {% for attribute_group in product.attribute_groups %} <thead> <tr> <td colspan="2"><strong>{{ attribute_group.name }}</strong></td> </tr> </thead> <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> {% endfor %} </table> Если что-то не выводится, проверьте внимательно еще раз)) И конечно вы должны понимать, что править код файлов движка - это зло. Делайте все через ocmod Змінено 26 березня 2019 користувачем PaulKravchenko 2 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... Alexandr15 Опубліковано: 24 березня 2021 Share Опубліковано: 24 березня 2021 (змінено) Спасибо Змінено 24 березня 2021 користувачем Alexandr15 Надіслати Поділитися на інших сайтах More sharing options... 9 months later... DarkEinstein Опубліковано: 10 січня 2022 Share Опубліковано: 10 січня 2022 (змінено) PaulKravchenko Вылетают все атрибуты. А как из этого всего вывести именно {{ attribute.text }} с атрибутом_id=2 Для модуля features? Попробовал как на скрине, но вылетает ошибка Змінено 10 січня 2022 користувачем DarkEinstein Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '2' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "'"); $attr = $query->row; Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 это для одного атрибута в телеге спрашивали Надіслати Поділитися на інших сайтах More sharing options... DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Вывод атрибутов в карточке товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
svetnik Опубліковано: 11 січня 2019 Автор Share Опубліковано: 11 січня 2019 Большое спасибо! 1 Надіслати Поділитися на інших сайтах More sharing options...
grangel Опубліковано: 26 березня 2019 Share Опубліковано: 26 березня 2019 (змінено) вставил ваш код сюда: catalog/view/theme/default my/template/product/category.twig и сюда catalog/view/theme/default my/template/extension/module/featured.twig вот этот код показывается: <table class="table table-bordered"></table> А инфы про атрибутов нет =( opencart Version 3.0.3.1 (rs.2) P.S. обновил и выключил потом кеш и обновлял модули. P Змінено 26 березня 2019 користувачем grangel 1 Надіслати Поділитися на інших сайтах More sharing options...
PaulKravchenko Опубліковано: 26 березня 2019 Share Опубліковано: 26 березня 2019 (змінено) 4 часа назад, grangel сказал: вставил ваш код сюда: catalog/view/theme/default my/template/product/category.twig и сюда catalog/view/theme/default my/template/extension/module/featured.twig Конечно не будет там показываться. На странице товаров есть данные об атрибутах, то есть они получаются соответствующим контроллером, а на странице категорий и в модуле рекомендуемых их не будет так как контроллеры не получают атрибуты товара. Сейчас нет возможности проверить на 3.х, но можете попробовать добавить в контроллер категории (catalog/controller/product/category.php) в массив данных товара: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']) если взлетит, то по аналогии и с рекомендуемыми добрался до 3.х)) 1. catalog/controller/product/category.php найти: 'product_id' => $result['product_id'], добавить перед: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), 2. catalog/view/theme/default/template/product/category.twig найти: <p>{{ product.description }}</p> добавить после: <table class="table table-bordered"> {% for attribute_group in product.attribute_groups %} <thead> <tr> <td colspan="2"><strong>{{ attribute_group.name }}</strong></td> </tr> </thead> <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> {% endfor %} </table> 3. catalog/controller/extension/module/featured.php найти: 'product_id' => $product_info['product_id'], добавить перед: 'attribute_groups' => $this->model_catalog_product->getProductAttributes($product_info['product_id']), 4. catalog/view/theme/default/template/extension/module/featured.twig найти: <p>{{ product.description }}</p> добавить после: <table class="table table-bordered"> {% for attribute_group in product.attribute_groups %} <thead> <tr> <td colspan="2"><strong>{{ attribute_group.name }}</strong></td> </tr> </thead> <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> {% endfor %} </table> Если что-то не выводится, проверьте внимательно еще раз)) И конечно вы должны понимать, что править код файлов движка - это зло. Делайте все через ocmod Змінено 26 березня 2019 користувачем PaulKravchenko 2 Надіслати Поділитися на інших сайтах More sharing options... 1 year later... Alexandr15 Опубліковано: 24 березня 2021 Share Опубліковано: 24 березня 2021 (змінено) Спасибо Змінено 24 березня 2021 користувачем Alexandr15 Надіслати Поділитися на інших сайтах More sharing options... 9 months later... DarkEinstein Опубліковано: 10 січня 2022 Share Опубліковано: 10 січня 2022 (змінено) PaulKravchenko Вылетают все атрибуты. А как из этого всего вывести именно {{ attribute.text }} с атрибутом_id=2 Для модуля features? Попробовал как на скрине, но вылетает ошибка Змінено 10 січня 2022 користувачем DarkEinstein Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '2' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "'"); $attr = $query->row; Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 это для одного атрибута в телеге спрашивали Надіслати Поділитися на інших сайтах More sharing options... DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Вывод атрибутов в карточке товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Alexandr15 Опубліковано: 24 березня 2021 Share Опубліковано: 24 березня 2021 (змінено) Спасибо Змінено 24 березня 2021 користувачем Alexandr15 Надіслати Поділитися на інших сайтах More sharing options...
DarkEinstein Опубліковано: 10 січня 2022 Share Опубліковано: 10 січня 2022 (змінено) PaulKravchenko Вылетают все атрибуты. А как из этого всего вывести именно {{ attribute.text }} с атрибутом_id=2 Для модуля features? Попробовал как на скрине, но вылетает ошибка Змінено 10 січня 2022 користувачем DarkEinstein Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '2' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int)$this->config->get('config_language_id') . "'"); $attr = $query->row; Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 это для одного атрибута в телеге спрашивали Надіслати Поділитися на інших сайтах More sharing options... DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Вывод атрибутов в карточке товара Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 это для одного атрибута в телеге спрашивали Надіслати Поділитися на інших сайтах More sharing options... DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Пісочниця Вывод атрибутов в карточке товара
fanatic Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 это для одного атрибута в телеге спрашивали Надіслати Поділитися на інших сайтах More sharing options... DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options... fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
DarkEinstein Опубліковано: 12 січня 2022 Share Опубліковано: 12 січня 2022 3 часа назад, fanatic сказал: это для одного атрибута в телеге спрашивали Да, спасибо. Вставил и в контроллер и в модел. Правда ничего кроме прочерка не отобразилось. Может важно на какой строке вставлять в контроллере? Надіслати Поділитися на інших сайтах More sharing options...
fanatic Опубліковано: 13 січня 2022 Share Опубліковано: 13 січня 2022 модель catalog/model/catalog/product.php создаем метод public function getAttributeInProduct($product_id, $attribute_id) { $query = $this->db->query("SELECT ad.name, pa.text FROM " . DB_PREFIX . "attribute a LEFT JOIN " . DB_PREFIX . "attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN " . DB_PREFIX . "product_attribute pa ON(pa.attribute_id = a.attribute_id) WHERE a.attribute_id = '" . (int) $attribute_id . "' AND pa.product_id = '" . (int) $product_id . "' AND pa.language_id = '" . (int) $this->config->get('config_language_id') . "' AND ad.language_id = '" . (int) $this->config->get('config_language_id') . "'"); return $query->row; } для категории файл сatalog/controller/product/category.php находим строку $data['products'][] = array( перед ней вставляем $attribute_id = 2;// тут, id нужного атрибута $attr = $this->model_catalog_product->getAttributeInProduct($result['product_id'], $attribute_id); после вставляем 'attr' => $attr, шаблон catalog/view/theme/ваша тема/template/product/category.twig находим <p>{{ product.description }}</p> после вставляем {% if product.attr %} <p>{{ product.attr['name'] }} - {{ product.attr['text'] }}</p> {% endif %} для featured, делаем по аналогии Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 2
Recommended Posts