Перейти к содержанию

Как добавить в редактирование товара чекбокс?


Рекомендуемые сообщения

Здравствуйте. Подскажите пожалуйста нужно добавить чекбокс при редактировании товара с включением блока. Стоит Opencart 3 club edition. За ранее спасибо 

Ссылка на комментарий
Поделиться на другие сайты

Набросал такое но чё то не работает 

 

<?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;

 

Ссылка на комментарий
Поделиться на другие сайты

В опенкарт любой версии полно неиспользуемых полей. Берите любое , например 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>


 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...