Евгений Жуков пишет: Если так, уж простите, на язык просится цитата из известного анекдота - "поручик был большой забавник". Зачем Вы этакую свинью подкладываете девочке - контент-менеджеру? Для каждой новой страницы создай включаемую область, скопируй из уже имеющейся код, при удалении страницы не забудь удалить включаемую область? А если в корне будет хотя бы 2-3 десятка страниц? Это сколько лишней работы?
Евгений, видимо Вы не до конца разобрались с работой включаемых областей в битриксе. Не печальтесь, я тоже многого не понимал причем очень долго
В данном случае совсем не нужно для каждой страницы создавать в коде шаблона включаемую область, как я и отметил в самом начальном своем посте. Достаточно определить в коде шаблона, вызов всего лишь двух включаемых областей, одну "для страницы", вторую "для раздела". Та которая "для страницы" будет отображать включаемые области заданные для каждой страницы по шаблону названиестраницы_inc.php(если они есть), т.е. в настройках этой первой включаемой области мы выбираем "для страницы" и ставим индекс inc, т.е. если для страницы test.php есть одноименный файл включаемой области test_inc.php, то включаемая область на странице test.php отобразится, а если такого файла не будет - то нет. Я что-то не пойму, откуда Вы взяли то, что в коде шаблона нужно указывать для каждой отдельной страницы вызов включаемой области? Бедной девочке контент-менеджеру не нужно будет ничего копировать и создавать, будет много гемороя у програмиста, просто копировать дополнительно файл включаемой области для каждой страницы в корне сайта.
Да и пример этот я привел, просто для того, чтобы понять, как делать ПРАВИЛЬНО с точки зрения разработчиков БУСа.
Все что я узнал (даже не из курсов, потому что в курсах я не нашел нормального объяснения работе с включаемыми областями), о работе с включаемыми областями и позволило мне описать этот способ.
Я просто хочу докопаться до истины. Как же всетаки правильно "по-битриксовски" что-ли поступить в таком случае.
Профессионально занимаюсь версткой и интеграцией оной в шаблон «1С-Битрикс» beskrovnyy.com
Евгений Бескровный пишет: Я что-то не пойму, откуда Вы взяли то, что в коде шаблона нужно указывать для каждой отдельной страницы вызов включаемой области?
Где я, черт побери, это говорил? Вот мои слова:
Цитата
Евгений Жуков пишет: Или Вы собрались для КАЖДОЙ страницы, лежащей в корне, создавать файлик
То есть я Вас спросил, собираетесь ли Вы для каждой страницы в корне Вашего сайта создавать включаемую область. Цитирую Ваш последний ответ:
Цитата
Евгений Бескровный пишет: Та которая "для страницы" будет отображать включаемые области заданные для каждой страницы по шаблону названиестраницы_inc.php(если они есть), т.е. в настройках этой первой включаемой области мы выбираем "для страницы" и ставим индекс inc, т.е. если для страницы test.php есть одноименный файл включаемой области test_inc.php, то включаемая область на странице test.php отобразится, а если такого файла не будет - то нет.
Я Вам который раз пытаюсь объяснить, что Ваш способ - просто увеличение затрат времени и того, кто будет заниматься наполнением, и того, на чьи плечи ляжет поддержка сайта.
Цитата
Евгений Бескровный пишет: се что я узнал (даже не из курсов, потому что в курсах я не нашел нормального объяснения работе с включаемыми областями), о работе с включаемыми областями и позволило мне описать этот способ.
Ваш способ говорит, что Вы ВООБЩЕ не поняли, ни что такое включаемая область, ни как с ней работать. Откройте простейшее руководство по интеграции, все же описано.
Не надо сверлить зубы через задний проход дрелью от Сваровски
Извините, Евгений, значит я неправильно понял что вы имели ввиду под "Для каждой новой страницы создай включаемую область, скопируй из уже имеющейся код".
Мой способ говорит, о том, как бы понял это простой пользователь не программист (я не программист, а верстальщик, немного разные понятия). И я понимаю что трудозатраты очень велики.
Простоя пытаюсь понять, почему вообще разработчики битрикса так реализовали этот механизм включаемых областей, не продумав такой случай задания этой области с исключением в одну страницу или просто я что-то упустил
А в курсе по интеграции про работу с включаемыми областями сказано очень мало и согласитесь понять простому смертному тот бред сразу довольно сложновато Я не говорю уже про объяснение работы с шаблонами включаемых областей, кои у меня так и не заработали, наверное руки кривоваты
Профессионально занимаюсь версткой и интеграцией оной в шаблон «1С-Битрикс» beskrovnyy.com
Евгений Бескровный пишет: Задача: повесить на все страницы сайта в шаблоне включаемую область, за исключением одной единственной страницы, расположенной в корне сайта.
Если речь вести об идеологии, мне кажется, тут неверная постановка задачи. Дело в том, что, по большому счёту, шаблон, плюс одинаковая для нескольких страниц включаемая область – это и есть уже новый шаблон, но без включаемой области. Предположительно, для Вашей задачи вёрстки, когда одна страница по структуре выбивается из общего ряда, нужно всего два шаблона и не нужно совсем включаемых областей. Поэтому, согласен с Евгением Жуковым, его Первым вариантом:
Цитата
Евгений Жуков: Самый тупой (в лоб) вариант - два шаблона.
Вариант хоть и в лоб, но не тупой, мне нравится, вижу преимущества: 1. Наглядность и прозрачность (просто, дёшево, надёжно и практично). Ясно для чего сделан каждый шаблон, т.к. есть условия их применения. Если удалите страницы, то отключите и шаблон, без изменений в других шаблонах других страниц. 2. Масштабируемость. Хоть в условии и сказано, что страница одна, но идеология от количества страниц не зависит, что верно для нескольких страниц, то и для одной (одна – это частный случай нескольких).
Второй вариант: использовать один шаблон на все страницы, но так исхитрится с вёрсткой шаблона, чтобы сделать только одну включаемую область для той страницы, которая выбивается из общего ряда.
Третий вариант: использовать один шаблон на все страницы, но так исхитрится с CSS файлом и вёрсткой шаблона, чтобы отключить показ ненужного блока на той странице, которая выбивается из общего ряда.
Спасибо, Алексей, у меня в этой включаемой, которую нужно было показывать на всех страницах кроме одной, было немного незамысловатого html кода, вышел из положения просто использованием проверки на соответствие адреса апи функцией $APPLICATION->GetCurPage() по совету Евгения.
Цитата
Алексей Комаров пишет: вижу преимущества:
насчет преимуществ, меня в использовании нескольких шаблонов смущает одна вещь, как идеологически правильно добиться универсальности на уровне шаблонов компонентов и CSS? Я имею ввиду чтобы на все шаблоны был как один CSS файл, так и одни и те же шаблоны компонентов.
Моя версия - одинаковые для всех шаблонов, шаблоны компонентов выкладывать в шаблон .default (сам не пробовал но говорят будут доступны для всех шаблонов), а CSS файл подключать откуда-то из общей папки обыкновенным тегом link.
Насчет CSS я не уверен, может быть есть способ как-то по-другому подключить один файл для всех шаблонов?
Профессионально занимаюсь версткой и интеграцией оной в шаблон «1С-Битрикс» beskrovnyy.com
Если у Вас один и тот же шаблон компонента используется в нескольких шаблонах сайтов, то да, его надо помещать в шаблон .default - так придумано разработчиками БУС. А вот css у каждого шаблона свой. Я так понимаю, Вы не хотите каждый раз копировать css-файл шаблона сайта после внесения изменений? Ну, тогда есть вариант $APPLICATION->SetAdditionalCss('абсолютный путь к файлу'), хотя это будет идеологически неверно.
Не надо сверлить зубы через задний проход дрелью от Сваровски
Значит полюбому у шаблона сайта должны быть два CSS файла и их вызов никак не удалить, чтобы не грузились зря, если один общий использовать?
Кстати, в битриксе не реализован механизм подгрузки основных файлов если они были модифицированы. хотя для файлов шаблонов компонентов в конце файла прибавляется date stamp. Очень неудобно когда нужно что-то поправить на довольно посещаемом сайте. Приходится подгружать дополнительные файлы. Можно ли это как-нибудь автоматизировать? Я здесь темку поднимал. Тут товарищ в ядре поковырялся даже) http://dev.1c-bitrix.ru/community/forums/messages/forum6/topic21661/message118768/?phrase_id=2503617#message118768
Профессионально занимаюсь версткой и интеграцией оной в шаблон «1С-Битрикс» beskrovnyy.com
Могут и отсутствовать. Хотя я всегда просто копирую - так надежней и проще для меня. А date stamp пишется, только если браузер - не Опера. Автоматизировать - читайте RFC по http. А товарищу руки надо оторвать. За распространение вредных идей.
Не надо сверлить зубы через задний проход дрелью от Сваровски