Проблема в самом минификаторе JS. Он не может правильно обработать файл jquery.js Минифицировал этот файл внешним ресурством, подсунул его в компонент ls-vendor вместо штатного, все заработало.
Вопрос к разработчикам. В функциях после действий с объектом, везде, где происходит изменений объекта, есть сброс кеша. Зачем заново кешировать объект по времени, если над ним не было операций и создавать дополнительную нагрузку с последующей необходимостью время от времени чистить устаревший кеш?
На сайте 47тыс. топиков, профилирование запроса вывода топиков на главной prnt.sc/difpjb
Сортировка по дате медленно работает, если перевести ее в формат unixtime, ускоряется в 2 раза, но все равно медленно. Есть у кого-нибудь мысли как ускорить этот процесс?
В моем плагине кол-во блогов топика расширено до бесконечности. Заметил, что при 100+ блогах у топика сохранение после редактирования начинает подтормаживать. Разобрался — не оптимально сделан пересчет топиков в блогах. Предлагаю оптимизировать штатную функцию ЛС-а т.к. сам ЛС станет в этом моменте чуточку быстрее (на малом кол-ве блогов не видно, но все же):
if ($aBlogsIdOld != $oTopic->getBlogsId()) {
$this->Blog_RecalculateCountTopicByBlogId($aBlogsIdOld);
}
$this->Blog_RecalculateCountTopicByBlogId($oTopic->getBlogsId());
Если пользователь из 5 блогов меняет 1, то пересчитываются 10 (5+5).
Если сделать так, то пересчитывать будет только уникальные т.е. 6 (5+1):
UPDATE `prefix_geo_region` SET `sort` = '50' WHERE `prefix_geo_region`.`id` =1314;
Вместо 50 ставьте другое значение, сортируется по приоритетам. К примеру 150 изменит позицию Крыма. Методом тыка можете нужную позицию найти или посмотреть в БД приоритеты у записей и выставить нужный.
UPDATE `prefix_geo_city` SET `country_id` = '149' WHERE `region_id` = '1314';
UPDATE `prefix_geo_region` SET `country_id` = '149' WHERE `id` = '1314';
UPDATE `prefix_geo_region` SET `name_ru` = 'Автономная Республика Крым' WHERE `prefix_geo_region`.`id` =1314;
UPDATE `prefix_geo_region` SET `name_en` = 'Krym' WHERE `prefix_geo_region`.`id` =1314;
UPDATE `prefix_geo_region` SET `sort` = '50' WHERE `prefix_geo_region`.`id` =1314;
public function RegisterHook() {
$this->AddHook('template_form_add_topic_begin', 'TemplateFormAddTopicBegin');
}
public function TemplateFormAddTopicBegin() {
return $this->Viewer_Fetch(Plugin::GetTemplatePath('travel') . 'actions/ActionTopic/selector_geo.tpl');
}
Далее пытаюсь переместить код ниже в этом же файле в блок: {block 'add_topic_form_text_before'}{/block}
Не получается, не рабочие варианты кода постить не буду, чтобы не путать.
Вопрос:
Каким способом инжектить код плагина в нужную конструкцию типа {block '***'}{/block}
Просьба пояснить на примере файла \application\frontend\components\topic\topic-add.tpl и кода (Plugin::GetTemplatePath('travel'). 'actions/ActionTopic/selector_geo.tpl') для {block 'add_topic_form_text_before'}{/block}
$config['module']['asset']['js']['compress'] = true;
В консоли ошибка JS
и т.д.
Вопрос к разработчикам. В функциях после действий с объектом, везде, где происходит изменений объекта, есть сброс кеша. Зачем заново кешировать объект по времени, если над ним не было операций и создавать дополнительную нагрузку с последующей необходимостью время от времени чистить устаревший кеш?
Сортировка по дате медленно работает, если перевести ее в формат unixtime, ускоряется в 2 раза, но все равно медленно. Есть у кого-нибудь мысли как ускорить этот процесс?
Если пользователь из 5 блогов меняет 1, то пересчитываются 10 (5+5).
Если сделать так, то пересчитывать будет только уникальные т.е. 6 (5+1):
Или сделать его по аналогии с Москвой и Питером
Вместо 50 ставьте другое значение, сортируется по приоритетам. К примеру 150 изменит позицию Крыма. Методом тыка можете нужную позицию найти или посмотреть в БД приоритеты у записей и выставить нужный.
Файл: \application\frontend\components\topic\topic-add.tpl
Инжект хуком (работает):
Далее пытаюсь переместить код ниже в этом же файле в блок: {block 'add_topic_form_text_before'}{/block}
Не получается, не рабочие варианты кода постить не буду, чтобы не путать.
Вопрос:
Каким способом инжектить код плагина в нужную конструкцию типа {block '***'}{/block}
Просьба пояснить на примере файла \application\frontend\components\topic\topic-add.tpl и кода (Plugin::GetTemplatePath('travel'). 'actions/ActionTopic/selector_geo.tpl') для {block 'add_topic_form_text_before'}{/block}