Здравствуйте.
Речь пойдет о редакции "Сайт конференций".
Первый раз с толкнулся с данной редакцией. Суть её проста. Есть ИБ с элементами конференций. Есть связанные ИБ с разделами, которые привязаны пользовательским полем к элементу конференции. Суть вывода пользовательской части еще проще. В корне каталог, имя которого символьный код конференции, а в нем, как и в обычном сайте, папки файлы и т.п.
В моем случае, на сайте конференции должны быть как текущие, так и прошедшие (есть же ИБ для этого), но вот тут и начинаются велосипеды.
При создании новой конференции, необходимо вручную создавать разделы связанных данных и их привязывать, но не каждому заказчику объяснишь как это делать и не факт, что он это сделает (благо есть события и init).
С базой разобрались и идем дальше.
Структура конференций одна, внешний вид тоже, тогда на кой создавать каталог в корне, для каждой отдельно? Тем более заказчику явно не понравится создавать папки, меню и какие-то там файлы, чтобы получить желаемый результат (с тем же результатом можно статику бесплатно копипастить).
Решение пока придумал одно. Добавил правило в обработку адресов, чтобы получить конференцию и вывести её данные. news.list и прочие при поднастройке фильтром работают на ура, но вот с комплексными компонентами беда. Чтобы всё заработало, пришлось в параметрах прописать "SEF_FOLDER" => "/".CONF_CODE."/about/news/", где CONF_CODE код конференции, а так же пришлось править правила для комплексных компонентов в urlrewrite
"CONDITION" => "#^/([a-z0-9_]+)/about/news/#",
"RULE" => "CONF_CODE=$1",
"ID" => "bitrix:news",
"PATH" => "/about/news/index.php",
В результате я добился желаемого эффекта, но проблема в том, что при редактировании параметров компонента, его правила перезаписываются и тем самым всё летит к чертям. Менять права у urlrewrite запрещая перезапись, считаю самым некрасивым делом, ибо следующий разработчик не сразу поймет где собака зарыта))
Если у кого-то есть идеи как решить данную проблему с ЧПУ или была подобная задача, буду очень признателен за помощь.
Речь пойдет о редакции "Сайт конференций".
Первый раз с толкнулся с данной редакцией. Суть её проста. Есть ИБ с элементами конференций. Есть связанные ИБ с разделами, которые привязаны пользовательским полем к элементу конференции. Суть вывода пользовательской части еще проще. В корне каталог, имя которого символьный код конференции, а в нем, как и в обычном сайте, папки файлы и т.п.
В моем случае, на сайте конференции должны быть как текущие, так и прошедшие (есть же ИБ для этого), но вот тут и начинаются велосипеды.
При создании новой конференции, необходимо вручную создавать разделы связанных данных и их привязывать, но не каждому заказчику объяснишь как это делать и не факт, что он это сделает (благо есть события и init).
С базой разобрались и идем дальше.
Структура конференций одна, внешний вид тоже, тогда на кой создавать каталог в корне, для каждой отдельно? Тем более заказчику явно не понравится создавать папки, меню и какие-то там файлы, чтобы получить желаемый результат (с тем же результатом можно статику бесплатно копипастить).
Решение пока придумал одно. Добавил правило в обработку адресов, чтобы получить конференцию и вывести её данные. news.list и прочие при поднастройке фильтром работают на ура, но вот с комплексными компонентами беда. Чтобы всё заработало, пришлось в параметрах прописать "SEF_FOLDER" => "/".CONF_CODE."/about/news/", где CONF_CODE код конференции, а так же пришлось править правила для комплексных компонентов в urlrewrite
"CONDITION" => "#^/([a-z0-9_]+)/about/news/#",
"RULE" => "CONF_CODE=$1",
"ID" => "bitrix:news",
"PATH" => "/about/news/index.php",
В результате я добился желаемого эффекта, но проблема в том, что при редактировании параметров компонента, его правила перезаписываются и тем самым всё летит к чертям. Менять права у urlrewrite запрещая перезапись, считаю самым некрасивым делом, ибо следующий разработчик не сразу поймет где собака зарыта))
Если у кого-то есть идеи как решить данную проблему с ЧПУ или была подобная задача, буду очень признателен за помощь.