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

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

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

Спойлер

4.thumb.jpg.2dfa33a365d35f74883adec75f0417e5.jpg

 

Код мода

Спойлер
Цитата

<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>Admin Ajax Status</name>
      <code>admin-ajax-status</code>
    <version>1.0</version>
    <author>Shrijal Regmi</author>
    <link>http://www.tncmedia.com.np</link>
    <file path="admin/controller/catalog/product.php">
        <operation>
            <search><![CDATA[
            public function add()
            ]]></search>
            <add position="before"><![CDATA[
            public function setstatus() {
        $this->load->language('catalog/product');
        $this->load->model('catalog/product');
        $output='';
        if(isset($this->request->get['object_id'])){
            $requestpart = explode('-',$this->request->get['object_id']);
            if(count($requestpart)==2){
                $column_name = $requestpart[0];
                $product_id = $requestpart[1];                
                $result = $this->model_catalog_product->getProduct($product_id);
                if($result[$column_name]){
                    $this->model_catalog_product->setStatus($product_id, $column_name, 0);
                } else {
                    $this->model_catalog_product->setStatus($product_id, $column_name, 1);
                }                
                $result = $this->model_catalog_product->getProduct($product_id);
                $output = $result[$column_name] ? $this->language->get('text_enabled') : $this->language->get('text_disabled');
            }
        }
        $this->response->setOutput($output);
    }
            ]]></add>
        </operation>
    </file> 
    
    <file path="admin/model/catalog/product.php">
        <operation>
            <search><![CDATA[
            public function getProduct($product_id)
            ]]></search>
            <add position="before"><![CDATA[
                public function setStatus($product_id, $column_name, $value){
                $this->db->query("UPDATE " . DB_PREFIX . "product SET " . $column_name . " = '" . (int)$value . "' WHERE product_id = '" . (int)$product_id . "'");
                }
            ]]></add>
        </operation>
    </file>  
    
    <file path="admin/view/template/catalog/product_list.tpl">
        <operation>
            <search><![CDATA[
            <?php echo $product['status']; ?>
            ]]></search>
            <add position="replace"><![CDATA[
            <strong><a class="ajaxstatus" id="status-<?php echo $product['product_id']; ?>" style="text-decoration:underline; padding-bottom:4px;"><?php echo $product['status']; ?></a></strong>
            ]]></add>
        </operation>
        <operation>
            <search><![CDATA[
            <?php echo $footer; ?>
            ]]></search>
            <add position="before"><![CDATA[
            <script type="text/javascript"><!--
$('.ajaxstatus').click(function() {
    var object_id=$(this).attr('id');
    $.ajax({
        url: 'index.php?route=catalog/product/setstatus&token=<?php echo $token; ?>',
        type: 'get',
        data: {object_id:object_id},
        dataType: 'html',
        success: function(html) {
            if(html!=''){                
                $('#'+object_id).html(html);
            }
        }
    });
});
//--></script>
            ]]></add>
        </operation>
    </file>
</modification>

 

Себя он прописывает в product_list.tpl

Версия движка 2.3

 

Подскажите как правильно запихнуль в него код кнопки :

Get the CSS

Спойлер

Get the CSS.onoffswitch {
    position: relative; width: 90px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
    border: 2px solid #999999; border-radius: 20px;
}
.onoffswitch-inner {
    display: block; width: 200%; margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
    font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
    box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ON";
    padding-left: 10px;
    background-color: #34A7C1; color: #FFFFFF;

Get the HTML

Спойлер

<div class="onoffswitch">
    <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked>
    <label class="onoffswitch-label" for="myonoffswitch">
        <span class="onoffswitch-inner"></span>
        <span class="onoffswitch-switch"></span>
    </label>
</div>

Что бы получить примерно такое

 

product_status.png.7baeda052a5bc5d66faf9c72746a5830.png

 

Просто из за нехватки знаний не могу понять,прошу направить

Изменено пользователем pasha2298

Поделиться сообщением


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

Может вам проще модуль приобрести 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, aka75 сказал:

Может вам проще модуль приобрести 

 

Честно было бы проще, я бы даже не спрашивал здесь

Поделиться сообщением


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

 

27 минут назад, pasha2298 сказал:

Честно было бы проще, я бы даже не спрашивал здесь

:| думаю по-google-ть и найти как сделать switch из radio в CSS и HTML5 не проблема, как сделать из того кода чего у вас в спойлере тоже не проблема, у вас весь cart один сплошной пример и уверяю вас, там уже все написано, надо просто изучить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, theRGD сказал:

 

:| думаю по-google-ть и найти как сделать switch из radio в CSS и HTML5 не проблема, как сделать из того кода чего у вас в спойлере тоже не проблема, у вас весь cart один сплошной пример и уверяю вас, там уже все написано, надо просто изучить.

спасибо за ответ,просто немного затрудняюсь именно в самих шагах последовательности действий

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.