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

Вывод id магазина в списке товаров админки


 Поделиться

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

В админке в списке товаров пытаюсь напротив каждого продукта вывести id магазина к которому он присвоен. В site.ru/admin/view/template/catalog/product_list.tpl пытался вывести <?php echo $product['store_id']; ?> Но это не работает...

В site.ru/admin/model/catalog/product.php есть упоминание о $store_id, как я понимаю запрос уже делается о необходимой информации в бд в поле product_to_store

Однако в контроллере site.ru/admin/controller/catalog/product.php встречается только в одном месте

$this->load->model('setting/store');

    $data['stores'] = $this->model_setting_store->getStores();

    if (isset($this->request->post['product_store'])) {
      $data['product_store'] = $this->request->post['product_store'];
    } elseif (isset($this->request->get['product_id'])) {
      $data['product_store'] = $this->model_catalog_product->getProductStores($this->request->get['product_id']);
    } else {
      $data['product_store'] = array(0);
    }

Подскажите плз, как правильно вывести id магазина в site.ru/admin/view/template/catalog/product_list.tpl? Аналогичная проблема со списком категорий...

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


Как-то так

$data['products'] = array(
'stores' => getStores($product_id),
`categories' => getCatagories($product_id)

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

По аналогии

 

getstoreidinprod.ocmod.xml

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

15 часов назад, Tom сказал:

 

Поковырявшись с данным модификатором, получилось сделать все указанное по аналогии, спасибо за этот пример! На память сюда пошаговое решение выложу.

 

Для продуктов, в /site.ru/admin/catalog/controller/product.php Нужно найти этот код:

$data['products'][] = array(

и перед ним вставить:

            $this->load->model('setting/store');
		    $data['stores'] = $this->model_setting_store->getStores();
			$data['product_store'] = $this->model_catalog_product->getProductStores($result['product_id']);
			$product_store_list = '';

			if (!empty($data['product_store'])) {
			    if (in_array(0, $data['product_store'])) { $product_store_list = $this->language->get('text_default'); };
			    foreach ($data['stores'] as $store) {
			        if (in_array($store['store_id'], $data['product_store'])) { ($product_store_list != '') ? $product_store_list .= ','.$store['name']: $product_store_list = $store['name']; };
			        };
			    };

А после него вставить

'stores' => $product_store_list,

Далее в /site.ru/admin/view/template/catalog/product_list.tpl в нужное место вывести

<?php echo $product['stores']; ?>

В категориях /site.ru/admin/catalog/controller/category.php найти

$output[$result['category_id']] = array(

И перед этим кодом вставить

            $this->load->model('setting/store');
		    $data['stores'] = $this->model_setting_store->getStores();
			$data['category_store'] = $this->model_catalog_category->getCategoryStores($result['category_id']);
			$category_store_list = '';
			if (!empty($data['category_store'])) {
			    if (in_array(0, $data['category_store'])) { $category_store_list = $this->language->get('text_default'); };
			    foreach ($data['stores'] as $store) {
			        if (in_array($store['store_id'], $data['category_store'])) { ($category_store_list != '') ? $category_store_list .= ','.$store['name']: $category_store_list = $store['name']; };
			        };
			    };

А после него вставить

'stores' => $category_store_list,

Далее в /site.ru/admin/view/template/catalog/category_list.tpl в нужное место воткнуть

'stores' => $category_store_list

Эти примеры выводят имена магазина.

 

Для вывода вместо названия магазинов ихние id для контроллера товаров вставить заместо прежнего кода этот вариант:

            $this->load->model('setting/store');
		    $data['stores'] = $this->model_setting_store->getStores();
			$data['product_store'] = $this->model_catalog_product->getProductStores($result['product_id']);
			$product_store_list = '';

			if (!empty($data['product_store'])) {
			    if (in_array(0, $data['product_store'])) { $product_store_list = '0'; };
			    foreach ($data['stores'] as $store) {
			        if (in_array($store['store_id'], $data['product_store'])) { ($product_store_list != '') ? $product_store_list .= ','.$store['store_id']: $product_store_list = $store['store_id']; };
			        };
			    };

И для списка категорий соответственно

            $this->load->model('setting/store');
		    $data['stores'] = $this->model_setting_store->getStores();
			$data['category_store'] = $this->model_catalog_category->getCategoryStores($result['category_id']);
			$category_store_list = '';
			if (!empty($data['category_store'])) {
			    if (in_array(0, $data['category_store'])) { $category_store_list = '0'; };
			    foreach ($data['stores'] as $store) {
			        if (in_array($store['store_id'], $data['category_store'])) { ($category_store_list != '') ? $category_store_list .= ','.$store['store_id']: $category_store_list = $store['store_id']; };
			        };
			    };

Это то что у меня заработало на ocstore 2.3

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


А то что я прикрепил в виде готового модификатора?

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

32 минуты назад, Tom сказал:

А то что я прикрепил в виде готового модификатора?

Как неловко вышло, я подумал что это один и тот же файл... Я убил почти два вечера на это, а готовый модификатор уже был оказывается)))

Все равно спасибо)

 

P.S. В итоге я под себя поправил что бы значения stores передавались не имена магазина а id, а по ним уже фильтрацию товаров и категорий в зависимости от магазина.

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


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

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

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

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

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

Войти

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

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

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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