Подробная информация о заказах в админке

заказ
колонка

#1

Реализовал этот легендарный урок :slight_smile:

https://forum.cs-cart.com/topic/36925-более-подробная-информация-о-заказах-в-админке/

Два вопроса.

  1. Раньше использовалась конструкция:
    Registry::get(‘view’)->assign(‘orders’, $orders);
    теперь
    Tygh::$app[‘view’]->assign(‘orders’, $orders);

а как быть с

$orders = Registry::get(‘view’)->getTemplateVars(‘orders’);
так будет корректно ?
$orders = Tygh::$app[‘view’]->getTemplateVars(‘orders’);

Второй вопрос:
Если мне нужно в шаблоне не дописать ячейку к существующей таблице с помощью хука, а удалить одну ячейку ПЕРЕД хуком? Ну например в админке в таблице заказов УДАЛИТЬ колонку “номер телефона” с помошью модуля??? Это возможно?


#2

$orders = Registry::get(‘view’)->getTemplateVars(‘orders’);
так будет корректно ?
$orders = Tygh::$app[‘view’]->getTemplateVars(‘orders’);

Да - так будет корректно.

Да это можно сделать, вам надо переопределить хук с списком заказов, если вы хотите именно убрать ячейку.

В целом можете сделать, если это покажется сложным (я думаю покажется) советую посмотреть на наш модуль https://store.retailfactory.ru/moduli-dlya-cs-cart/nastraivaemyy-spisok-zakazov/

Тема на форуме с описание Модуль от RetailFactory.ru: Настраиваемый список заказов в админ панели

Он позволяет настроить список заказов в админ панели так, как вам угодно. Причем каждый менеджер может настроить список заказов под себя.


#3

Хука там нет, остается через оверрайд

design/backend/templates/addons/my_changes/overrides/views/orders/manage.tpl


#4

Либо, если вопрос в том, чтобы только скрыть, через css :point_up:


#5

Да, модуль понравился, даже поигрался с демкой, но уже сам запилил. Очень хотелось в образовательных целях.
Всё-таки вручную поправил шаблон orders/manage.tpl. Всё получилось не плохо, вот только никак не найду - где мне в css определить min-width кнопки статуса заказов - всё уж перепробовал. Хочется, чтобы вот так получилось - кнопочки одной ширины: https://prntscr.com/op2bxk

Я так понимаю - этот оверрайд также легально оформляется в модуле?


#6

Да. Просто если в будущем разработчики что-то добавят на эту страницу, вам придется в модуль тоже добавить


#7

Тьфу ты ну ты!!! В админке же css через другую дырку правятся!


#8

Подскажите. Не понимаю:

foreach ($orders as $key => $value) {
		
		$shipping_ids = explode(',', $value['shipping_ids']);
		$shipping_names = '';
		foreach ($shipping_ids as $id){
			$shipping_names .= fn_get_shipping_name($id) . ', ';
		}
		$orders[$key]['shipping_name'] = substr($shipping_names, 0, -2);
}

Вот этот синтаксис что делает с массивом?
$orders[$key][‘shipping_name’] =
Я так понимаю, что ключу с именем shipping_name присваивается строка в качестве его значения. Но что это за синтаксис такой? Или он добавляет пару ключ/значение? Есть ссылка на документацию конкретную?

***Это многомерный ассоциативный массив?


#9

Каждому заказу в елемент shipping_name присваивается строка со списком способов доставки через запятую
А документация здесь


#10

Из

shipping_ids => 1,2,3

делает

shipping_name => "Почта РФ, СДЭК, ПЭК"