Jump to content
griman

чекбокс в админке товара вкл и откл - вывода блока

Recommended Posts

Добрый день! может кто подскажет, как можно реализовать?

Есть калькулятор расчет ламината, как сделать так, что бы можно было его выводить в карточке.

Например Создал товар Ламинат - вкладка данные - показать калькулятор - чекбокс ДА.

Создал товар кисточка - вкладке данные - показать калькулятор - чекбокс НЕТ.

То есть скрывать отображение кнопки(Рассчитать расход) в товарах где она не надо.

Edited by griman

Share this post


Link to post
Share on other sites

в таблице product создать поле c типом данных tinyint, и проверять во вью если 1 то выводит, если 0 не выводим product

Share this post


Link to post
Share on other sites

например я создам поле calc c типом данных tinyint

а как дальше вывести это поле в карточке, можете подсказать? а то я не селен в php 

 

 

Edited by griman

Share this post


Link to post
Share on other sites
1 минуту назад, griman сказал:

не селен в php 

закажите доработку у специалиста

Share this post


Link to post
Share on other sites

 

Только что, stickpro сказал:

закажите доработку у специалиста

спасибо, но я сам хочу понять и научиться

Share this post


Link to post
Share on other sites
1 минуту назад, griman сказал:

 

спасибо, но я сам хочу понять и научиться

аналогично status или shipping

Share this post


Link to post
Share on other sites
23 минуты назад, stickpro сказал:

аналогично status или shipping

создал таблицу calc по аналогии табл status

Вот теперь как дальше вывести ее в админке? 

Share this post


Link to post
Share on other sites
13 часов назад, buslikdrev сказал:

по аналогии с sku, не забываем заглянуть в admin/model/catalog/product.php
Начните с этого урока:

 

в админку добавли и вроде сохраняет значение чекбокса

Как теперь вывести в карточку товара?

так не выводит

$data['calc'] = $product_info['calc'];

 

 <?php if($calc): ?>
    тут содержимое
<?php endif; ?>

 

создавал так 

1. добавил:  $_['entry_calc']                = 'Показать калькулятор:';

2. добавил в  /public_html/admin/controller/catalog/product.php

$data['entry_calc'] = $this->language->get('entry_calc');

 

 

    if (isset($this->request->post['calc'])) {
            $data['calc'] = $this->request->post['calc'];
        } elseif (!empty($product_info)) {
            $data['calc'] = $product_info['calc'];
        } else {
            $data['calc'] = 1;
        }

3. добавил в /public_html/admin/model/catalog/product.php

     public function addProduct($data) {
        $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "',calc = '" . (int)$data['calc'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW()");

        $this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', calc = '" . (int)$data['calc'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");

4.добавил в /public_html/admin/view/template/catalog/product_form.php

<div class="form-group">
                <label class="col-sm-2 control-label"><?php echo $entry_calc; ?></label>
                <div class="col-sm-10">
                  <label class="radio-inline">
                    <?php if ($calc) { ?>
                    <input type="radio" name="calc" value="1" checked="checked" />
                    <?php echo $text_yes; ?>
                    <?php } else { ?>
                    <input type="radio" name="calc" value="1" />
                    <?php echo $text_yes; ?>
                    <?php } ?>
                  </label>
                  <label class="radio-inline">
                    <?php if (!$calc) { ?>
                    <input type="radio" name="calc" value="0" checked="checked" />
                    <?php echo $text_no; ?>
                    <?php } else { ?>
                    <input type="radio" name="calc" value="0" />
                    <?php echo $text_no; ?>
                    <?php } ?>
                  </label>
                </div>
              </div>

Edited by griman

Share this post


Link to post
Share on other sites
59 минут назад, griman сказал:

3. добавил в /public_html/admin/model/catalog/product.php

а getProduct  

Share this post


Link to post
Share on other sites
24 минуты назад, fanatic сказал:

а getProduct  

тут косяк теперь добавил 'calc'             => $query->row['calc'],

Edited by griman

Share this post


Link to post
Share on other sites

Круто все работет) всем спасибо

Edited by griman

Share this post


Link to post
Share on other sites
1 час назад, griman сказал:

Как теперь вывести в карточку товара?

так не выводит

$data['calc'] = $product_info['calc'];

catalog/model/catalog/product.php    getProduct

и выведет

Share this post


Link to post
Share on other sites
Только что, fanatic сказал:

catalog/model/catalog/product.php    getProduct

и выведет

   да все выводит <?php if($calc): ?>
      

         <p class="info is_ask"><a data-toggle="modal" data-target="#rashod"  class=" btn btn-bord" ><i class="icon-calculator"></i>Рассчитать расход</a></p>
        
<?php endif; ?>

еще раз спасибо

Share this post


Link to post
Share on other sites

В админке появилось, в базе 1/0 меняется у товаров, а на фронтенде все время текст есть независимо от того стоит переключатель на "да" или "нет".

В чем может быть проблема? 

product.tpl:

image.png.b6df8aacfa07c1602f03926313bb2740.png

image.png.dcd47d1894ba2a838d4b7285b622c238.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.