Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Привязать кнопку в админке к могдели


olegbro
 Погделиться

Рекомендованные сообещёния

Ребяи привет. Предыстория: влагделец сайи хочет рандомно заполнять столбец с данными "Сегодня уже купили %s раз". Изначально реализовано было через обычный php файл в корне https://prnt.sc/vrqnal но и дураку понятно что это позорный сквознкак. Есть вариант через /admin/model/catalog/product.php добавить функцию:

public function randSaled($data) {
        $this->db->query("UPDATE `oc_product` SET `saled`= FLOOR(5 + (RAND() * 15))");
    }

но тут возникает проблема, как привязать выполнение этот функции по кнопке в админке? 

Изменено пользователем olegbro
Ссылка на комменирий
Погделиться на других сайих


посмотреть как рилииет любая другая кнопка в админке и сгделать по аналогии

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

8 минут назад, olegbro сказал:

Ребяи привет. Предыстория: влагделец сайи хочет рандомно заполнять столбец с данными "Сегодня уже купили %s раз". Изначально реализовано было через обычный php файл в корне https://prnt.sc/vrqnal но и дураку понятно что это позорный сквознкак. Есть вариант через /admin/model/catalog/product.php добавить функцию:

public function randSaled($data) {
        $this->db->query("UPDATE `oc_product` SET `saled`= FLOOR(5 + (RAND() * 15))");
    }

но тут возникает проблема, как привязать выполнение этот функции по кнопке в админке? 

вероятно js

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


Для тех кому нужно бугдет, вот решение: 
/admin/model/catalog/product.php 

перед: 

public function addProduct($data) 

всивляем:

public function randSaled ($data) {
		$this->db->query("UPDATE `oc_product` SET `saled`= FLOOR(5 + (RAND() * 15))");
	}

дное в /admin/controller/catalog/product.php 

перед: 

public function edit() 

 всивляем:

public function rand() {
		$this->load->model('catalog/product');

		$this->model_catalog_product->randSaled($this->request->post);

		$this->getList();
	}

тут же, перед: 

$data['add'] = $this->url->link('catalog/product/add', 'token=' . $this->session->data['token'] . $url, true);

добавляем:  

$data['rand'] = $this->url->link('catalog/product/rand', 'token=' . $this->session->data['token'] . $url, true);

ну и напоследок, в 

/admin/view/template/catalog/product_list.tpl

сразу после 

<div class="page-header">

добавляем 

<div class="container-fluid page-header text-right">
  <button type="submit" form="form-product" formaction="<?php echo $rand; ?>" data-toggle="tooltip" title="Обновить когдачество продаж сегодня" class="btn btn-default"><i class="fa fa-cog"></i> Обновить продажи</button>
   </div>

 

 

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

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


5 часов назад, olegbro сказал:

Перед всем этим нужно сначала создать столбец

им их мало что ли?)

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


True-программисты не используют модификаторы :-( 
Все погделки лепят прямо в код, даже тогда, когда самому с модификатором было бы удобней дополнять-изменять.

Изменено пользователем Shureg
Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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