bigo Опубликовано 17.01.2025 в 22:36 Поделиться Опубликовано 17.01.2025 в 22:36 Здравствуйте. Подскажите пожалуйста нужно добавить чекбокс при редактировании товара с включением блока. Стоит Opencart 3 club edition. За ранее спасибо 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bigo Опубликовано 18.01.2025 в 16:00 Автор Поделиться Опубликовано 18.01.2025 в 16:00 Набросал такое но чё то не работает <?xml version="1.0" encoding="UTF-8"?> <modification> <name>Product Block Status</name> <code>product_block_status</code> <version>1.0</version> <author>Your Name</author> <link>https://www.yoursite.com</link> <!-- Изменение модели для добавления метода получения состояния --> <file path="catalog/model/catalog/product.php"> <operation> <search><![CDATA[ public function getProduct($product_id) { ]]></search> <add position="after"><![CDATA[ public function getProductBlockStatus($product_id) { $query = $this->db->query("SELECT is_block_enabled FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "'"); return $query->row['is_block_enabled']; } ]]></add> </operation> </file> <!-- Изменение контроллера для передачи состояния блока в шаблон --> <file path="catalog/controller/product/product.php"> <operation> <search><![CDATA[ public function index() { ]]></search> <add position="after"><![CDATA[ // Получаем состояние блока для товара $product_id = $this->request->get['product_id']; // или получите ID товара каким-то другим способом $is_block_enabled = $this->model_catalog_product->getProductBlockStatus($product_id); // Передаем в шаблон $data['is_block_enabled'] = $is_block_enabled; ]]></add> </operation> </file> <!-- Изменение шаблона для вывода состояния блока --> <file path="catalog/view/theme/default/template/product/product.twig"> <operation> <search><![CDATA[ <div class="col-sm-12"> ]]></search> <add position="before"><![CDATA[ {% if is_block_enabled %} <div class="product-block-enabled"> <!-- Контент для активированного блока --> <p>Этот блок включен для данного товара.</p> </div> {% else %} <div class="product-block-disabled"> <!-- Контент для деактивированного блока --> <p>Этот блок отключен для данного товара.</p> </div> {% endif %} ]]></add> </operation> </file> </modification> Ну и в базе прописал ALTER TABLE `oc_product` ADD `is_block_enabled` TINYINT(1) NOT NULL DEFAULT 0; 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Tom Опубликовано 18.01.2025 в 17:42 Поделиться Опубликовано 18.01.2025 в 17:42 В опенкарт любой версии полно неиспользуемых полей. Берите любое , например mpn и замените в админке вывод текстового инпута на переключатель Да-Нет. <?xml version="1.0" encoding="UTF-8"?> <modification> <name>Change MPN to Yes-No and Display in Frontend</name> <code>change_mpn_to_yes_no_and_display</code> <version>1.0</version> <author>Tom</author> <link>https://www.yoursite.com</link> <file path="admin/view/template/catalog/product_form.twig"> <operation> <search><![CDATA[<input type="text" name="mpn" value="{{ mpn }}" placeholder="{{ entry_mpn }}" id="input-mpn" class="form-control"/>]]></search> <add position="replace"><![CDATA[ <select name="mpn" id="input-mpn" class="form-control"> <option value="1" {{ mpn == '1' ? 'selected' : '' }}>Да</option> <option value="0" {{ mpn == '0' ? 'selected' : '' }}>Нет</option> </select> ]]></add> </operation> </file> <file path="catalog/controller/product/product.php"> <operation> <search><![CDATA[$data['points'] = $product_info['points'];]]></search> <add position="after"><![CDATA[$data['mpn'] = $product_info['mpn'];]]></add> </operation> </file> <file path="catalog/view/theme/default/template/product/product.twig"> <operation> <search><![CDATA[{% if price %}]]></search> <add position="before"><![CDATA[ {% if mpn == '1' %} <div class="product-mpn-enabled"> <!-- Контент для активации MPN --> <p>Этот блок включен для данного товара.</p> </div> {% elseif mpn == '0' %} <div class="product-mpn-disabled"> <!-- Контент для деактивации MPN --> <p>Этот блок отключен для данного товара.</p> </div> {% endif %} ]]></add> </operation> </file> </modification> 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.