Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


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