и не лень каждый раз на проде сборщик запускать? если можно результат закомитить и при выкладке будет просто git pull
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
//Ваш код
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
согласен! Это зло.
Оба варианта хороши. 1 вариант на мой взгляд лучше второго.
Получается :
1. создаешь свойство UF_MENU_ITEMS.
2. При сохранении, удалении элемента получать список разделов к которым он прикреплен и обновлять свойство UF_MENU_ITEMS этих разделов, записывая первые 4 товара из раздела.
3. В result_modifier получаешь это свойство объединяешь все ID в один массив и запрашиваешь товары
4. подставляешь в меню данные.
Тут очень важно следить за етм чтобы сортировка элементов в запросе была такойже как в каталоге.
И кстати в целом можно не усложнять и просто создать свойство UF_MENU_ITEMS и попросить КМ заполнить его, ну или написать скриптик который заполнит, а далее уже руками все админить, это позволит товары которые нужно продать выводить сразу в меню тем самым впихивать их пользователю.