Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Шаблон

00 голосов
8
Основной шаблон сайта две колонки. Основная 900px и 200px левая.
Как сделать, что бы левая колонка отображалась только на главной странице и не отображалась в разделе Форум и Блог ?

А то Блог и ФОрум сильно "зажимает", а надо чтобы он был на всю ширину 1100px

Какие решения могут быть? Или хотя бы подскажите в каком направлении смотреть?
спросил 05 Июль, 13 от kuramba (120 баллов)

8 Ответы

00 голосов
1. Можно сделать левую колонку включаемой областью и выводить соответсвующую разметку для нее только когда включаемые области есть в разделе.
2. Добавить проверку какого-то условия в шаблоне, например, если свойство-флаг для раздела установлено, то колонку не выводим.
3. Сделать два шаблона, первый - с двумя колонками, второй - с одной.
ответил 05 Июль, 13 от Delp (7,220 баллов)
00 голосов
Создаешь второй шаблон...в нем убираешь левую часть!
Далее в настройки->настройки продукта->список сайтов. Выбираешь свой сайт и в шаблонах указываешь новый шаблон, тип условия - для файла и папки - и выбираешь папку форума...аналогично и для блога
ответил 16 Авг, 13 от Ownedd (460 баллов)
00 голосов
Спасибо большое, буду пробовать! :)
ответил 15 Ноя, 13 от kuramba (120 баллов)
00 голосов
Чтобы для таких минимальных изменений плодить шаблоны, это конечно просто для простого пользователя. Но плодя шаблоны вы обрекаете себя на сплошной геммор по синхронизации изменений в таблицах стилей и логике других частей шаблона. Это если конечно изменения предвидятся, но как показывает опыт, 99.99% случаев сайт со временем дорабатывается, если конечно это не сайт-визитка от которой заказчик через два года спрашивает, как ему в админку попасть :) Конечно это все справедливо если вы не профи и не определите общие подшаблоны, файлы стилей и т.д. в общий шаблон-репозиторий.

Включаемыми областями конечно можно, но не для того они сделаны, чтобы с помощью них определять вывод частей макета. Включаемые области необходимы для вставки в них каких-то часто изменяющихся элементов кода, образующих независимые блоки, включение-выключение которых на сайте не приведет ни к каким нарушениям в макете, т.е. ничего никуда не "поедет" и ничего нигде не "вылезет".

Самым оптимальным решением, при таком поведении макета на определенных страницах или разделах сайта, ИМХО является вывод нужной структуры html-кода посредством задания простейших условий с использованием API-функций GetCurPage и GetCurDir.

Естественно все это должен делать верстальщик, который работает над шаблоном ;)
Идиотизм, когда "готовую верстку" "натягивает на битрикс" программер, в расчет не берем :D
ответил 24 Фев, 14 от Traxexx (900 баллов)
00 голосов
Цитата
Евгений Бескровный пишет:
Включаемыми областями конечно можно, но не для того они сделаны, чтобы с помощью них определять вывод частей макета. Включаемые области необходимы для вставки в них каких-то часто изменяющихся элементов кода, образующих независимые блоки, включение-выключение которых на сайте не приведет ни к каким нарушениям в макете, т.е. ничего никуда не "поедет" и ничего нигде не "вылезет".

Я сделал с таким подходом не один десяток сайтов - ничего никуда не едет, колонка добавляется когда администратор в нее что-то поместил. Очень удобно, когда каждая страница имеет разный набор компонентов в колонках или вообще без оных. Т.е. напрашивается вывод: вы просто не умеете их готовить.

Цитата
Евгений Бескровный пишет:
Самым оптимальным решением, при таком поведении макета на определенных страницах или разделах сайта, ИМХО является вывод нужной структуры html-кода посредством задания простейших условий с использованием API-функций GetCurPage и GetCurDir.

А вот за такое нужно бить по рукам. Шаблон вообще не должен зависеть от файловой структуры.

Цитата
Евгений Бескровный пишет:
Естественно все это должен делать верстальщик, который работает над шаблоном
Идиотизм, когда "готовую верстку" "натягивает на битрикс" программер, в расчет не берем

Да, только не идиоты обучают верстальщиков АПИ битрикса, чтобы те делали шаблоны. И не важно, что в большинстве случаев программист с этой задачей справится куда лучше.
ответил 15 Июнь, 14 от Delp (7,220 баллов)
00 голосов
Видимо мой комментарий вас чем-то задел.
Извините если это так.

Не могли бы вы поведать мне — невежде, как без использования второго шаблона и без применения условий, зависящих от файловой структуры (подобных GetCurPage и GetCurDir), создать шаблон с использованием включаемых областей, причем в этих включаемых областях не должно быть никакого html-кода, относящегося к формированию макета. Эти включаемые области должны быть пусты, или содержать оформленный каким-то образом текст, или вызов других компонентов.

Макетик, собственно тривиальный. Весь резиновенький :)
Первая страница в одну колонку: используется один единственный div и более в отданном сервером коде быть должно совершенно ничего, ну кроме естественно определения типа документа, области head со всем необходимым содержимым, тегов html и body.
Остальные страницы в три колонки: все три колонки резиновые все три также представляют из себя три тега div, здесь при необходимости возможно использование дополнительных div оберток и т.п., колонка с контентом идет первая по коду, затем следуют левая и правая.

Ах да, кросс-браузерность типа тоже, все дела, ослики от шестого и выше, ну там лисицы всякие от второй и выше, оперы ну и хромы разные с сафарями, кудаж без них :)

Если при соблюдении этих вполне нормальных и естественных условий вы на одних включаемых областях каким-то непостижимым для меня образом сделаете подобный шаблон или расскажете как это сделать, то всю последующую свою профессиональную деятельность я буду вам безмерно благодарен ;)
ответил 14 Окт, 14 от Traxexx (900 баллов)
00 голосов
Цитата
Евгений Бескровный пишет:
Видимо мой комментарий вас чем-то задел.

Абсолютно ничем не задели. Вы высказали свое видение решение вопроса (мне показалось несколько эмоционально), а я с ним не согласился.

Цитата
Евгений Бескровный пишет:
Не могли бы вы поведать мне — невежде, как без использования второго шаблона и без применения условий, зависящих от файловой структуры (подобных GetCurPage и GetCurDir), создать шаблон с использованием включаемых областей, причем в этих включаемых областях не должно быть никакого html-кода, относящегося к формированию макета. Эти включаемые области должны быть пусты, или содержать оформленный каким-то образом текст, или вызов других компонентов.

А почему вы установили такое требование, что в шаблоне компонента включаемой области не должно быть html-кода разметки макета? Вы видите в этом нарушение каких-то принципов? Я - нет.
Или вы из тех интеграторов, кто считает, что меню и прочие стационарные компоненты нужно делать прямо в шаблоне сайта? (навидался вдоволь таких сайтов)

Цитата
Евгений Бескровный пишет:
Если при соблюдении этих вполне нормальных и естественных условий вы на одних включаемых областях каким-то непостижимым для меня образом сделаете подобный шаблон или расскажете как это сделать, то всю последующую свою профессиональную деятельность я буду вам безмерно благодарен

Для вас и вправду данная задача (весьма банальная на мой взгляд) является непостижимой? Не вопрос - сделаю специально для вас такой шаблон.
ответил 14 Фев, 15 от Delp (7,220 баллов)
00 голосов
Цитата
Евгений Бескровный пишет:
Самым оптимальным решением, при таком поведении макета на определенных страницах или разделах сайта, ИМХО является вывод нужной структуры html-кода посредством задания простейших условий с использованием API-функций GetCurPage и GetCurDir.

Подобное решение приводит к тому, что заказчик зачастую вынужден для минимальных изменений обращаться к разработчику.
ответил 25 Май, 15 от Pomnep (13,960 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
2 ответов