Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - e.ioffe

Страницы: 1 ... 3 4 [5] 6 7 ... 25
61
Теоретически, вижу два варианта.
1. Слушать событие order_refresh - http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/sobytijnaya_model_umicms/standartnye_tochki_vyzova/#sel=5:149,5:149 . Проверять заказ на наличие number и delivery_id. Если они не установлены, то в delivery_id подставить id способа доставки.
2. На странице с корзиной до ее вывода обращаться к своему кастому, который реализует логику из п. 1.

С точки зрения сопровождения сайта больше нравится вариант 1.

62
В теории можно изменить тип поля с int на bigint. На практике с таким еще не сталкивался.

63
Шаблоны PHP / Re: Сортировка usel запроса
« : 31 Августа 2016, 22:46:55 »
Всегда лучше вместо usel писать свои макросы. Но не всегда это оправдано :-)

В php-шаблонизаторе usel возвращает объекты классов umiHierarchyElement или umiObject, с которыми могут возникнуть проблемы при кешировании. Свой макрос возвращает массив, который можно без проблем отправить в кеш.

Если для xslt usel в некоторых случаях еще доступим, то в php его использование только вредит (как производительности, так и дальнейшей поддержке кода).

64
Шаблоны PHP / Re: Сортировка usel запроса
« : 31 Августа 2016, 22:03:43 »
Попробуйте в коде usel жестко указать сортировку <sort order="asc">ord</sort>

В php-шаблонизаторе лучше вместо usel писать свои макросы.

65
Странно. У меня на одном проекте работало, а на тестовой 2.14 перестало.

В файле /classes/system/entities/umiFile/umiFile.php добавьте значение 'svg' в массив $allowedFileTypes - все должно заработать.

66
Типовыми средствами в поле типа "Изображение" svg пока не загрузить. Я меняю тип поля на "Файл" - в этом случае все проходит без проблем.

67
Проверьте umaps/sitemap.xml

Возможно, адрес совпадает с настройками в этом файле.

Без адреса сайта и доступов к нему сложно сказать, в чем причина.

68
Цитировать
Главное - тут хранить не только количество, но и id элемента, так как старое количество может тупо быть от другого объекта, нежели новое :-)

Пока не представляю ситуации, когда такое возможно.

if($eventPoint->getMode() == 'before') {
self::$amount = $element->getValue('amount');
} elseif($eventPoint->getMode() == 'after') {
if($element->getObject()->getValue('amount') != self::$amount) {
}
}

Событие вызывается на одном элементе, в before - значение до, в after - значение после сохранения.

69
> Я пока заколхозил таблицу куда делаю записи до и после. Тоже корявенько, хотя бы не видно =))

Если я правильно помню, то для страниц для получения нового значения нужно использовать не $element->getValue(), а $element->getObject()->getValue();

Как вариант - хранить в статической переменной данные о количестве до обновления и сравнить с количеством после.

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

$content = $page->getValue('content');

if($content) { echo $this->parseTplMacros($content, $page->getId());}

Теоретически - должно быть немного быстрее вызова без условия.

71
<?php echo $this->parseTplMacros($page->getValue('content'), $page->getId());?>

Добавлено в билде 58940 версии 2.11.

72
Перед
$this->setEventPoint($oEventPoint);
добавьте
var_dump('here'); die();
При выполнении действия на странице выводится сообщение here?

73
Файл __basket.php подключается в систему?

74
В файле путь до шаблона/catalog/smart-filters.phtml

добавьте вывод <pre><?php print_r($variables);?></pre>

Так вы увидите, есть ли данные для вывода фильтра в разделах каталога.

Как вариант, на первом и втором уровнях не подключается этот шаблон.

75
Ок, обязательно приглашу. Работал со старыми umi (самая старая была 2.7) - в принципе, в новых версиях кардинальных изменений не было.

Страницы: 1 ... 3 4 [5] 6 7 ... 25