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

Разные шаблоны для страницы товара и остального сайта

00 голосов
8
Помогите, пожалуйста новичку
Как можно сделать так, чтобы на всем сайте  было две колонки, а на странице детальной информации о товаре левая колонка пропадала. 
Я вижу два вариата: либо создать два разных шаблона и подключать их по условию, либо оставить один шаблон и в нем подключать включаемую область опять же по условию.
Но вот как поставить это условие, плиз помогите!!!!
спросил 05 Июль, 13 от Kolaps (160 баллов)

8 Ответы

00 голосов
Цитата
wkate пишет:
Но вот как поставить это условие
1. Обычно на страницах товара ИД товара больше нуля, можно его проверять.
2. Чтобы вообще ничего не проверять в шаблоне товара можно сделать стиль для левой колонки с

Код
   display:none !important
ответил 05 Июль, 13 от Greg (180 баллов)
00 голосов
Проблема в том, что левая колонка прописана не в шаблоне товара, а в общем шаблоне и чтобы его цссом отключить, как вы предлагаете опять таки нужно какое-то условие.
Ой, кажется поняла в чем фишка, ну такое извращение мне даже в голову не приходило....но работает, обалдеть, спасибо
А на счет первого варианта нельзя ли поподробнее, как это будет выглядеть (хочется попробовать не display: none работать, его поисковики не любят)
ответил 18 Авг, 13 от Kolaps (160 баллов)
00 голосов
Цитата
wkate пишет:
Проблема в том, что левая колонка прописана не в шаблоне товара, а в общем шаблоне и чтобы его цссом отключить, как вы предлагаете опять таки нужно какое-то условие.
А на счет первого варианта нельзя ли поподробнее, как это будет выглядеть
1. http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=4&LESSON_ID=26
Цитата
выражение PHP – шаблон будет использован при выполнении любого условия на языке PHP. Примечание: В качестве кода условия следует использовать выражение, которое используется в скобках конструкции if(). Например, $USER->IsAuthorized()
т.е. Вам надо проверить выражение intval($_REQUEST["здесь имя переменной, в которой передается код товара"]) > 0

2. Не в главном css шаблона. В том то и дело, что в шаблоне компонента catalog.detail можно написать собственный css, который "перечеркнет" вашу левую колонку. Т.е. условием убирания левой колонки станет загрузка любой страницы, содержащей компонент catalog.detail
ответил 17 Ноя, 13 от Greg (180 баллов)
00 голосов
Цитата
wkate пишет:
работать, его поисковики не любят
Не согласен. Большая часть java-script библиотек для менюшек, эффектов и т.д. используют его. Все эти меню отлично сканируются поисковиками.
ответил 25 Фев, 14 от Greg (180 баллов)
00 голосов
Цитата
wkate пишет:
Но вот как поставить это условие, плиз помогите!!!!
В случае ЧПУ - регулярное выражение.
ответил 17 Июнь, 14 от Pomnep (13,960 баллов)
00 голосов
Цитата
wkate пишет:
Но вот как поставить это условие, плиз помогите!!!!
регулярку, чтонить типа   #^/catalog/([a-zA-Z_0-9]+)/([0-9]+)/\?*.*#  
 ну или    #^/catalog/([a-zA-Z_0-9]+)/([a-zA-Z_0-9]+)/\?*.*#    если у тебя товары по кодам выводятся
ответил 16 Окт, 14 от Hax (1,100 баллов)
00 голосов
Спасибо за ответы

Но все же подскажите имя этой переменной, в которой передается код товара. Хотелось бы все же сделать не через цсс, а через условия

Цитата
Дмитрий Козлов пишет:
Не согласен. Большая часть java-script библиотек для менюшек, эффектов и т.д. используют его. Все эти меню отлично сканируются поисковиками.
Вот как раз дело и в том, что ПС все это видят. Получается умышленное скрытие части текста страницы от ПС, чего делать без особых на то причин не нужно.
ответил 16 Фев, 15 от Kolaps (160 баллов)
00 голосов
Цитата
wkate пишет:
Но все же подскажите имя этой переменной, в которой передается код товара.
это у тебя в настройках компонента 'каталог' глянь - по умолчанию $_REQUEST['ELEMENT_ID']
ответил 27 Май, 15 от Hax (1,100 баллов)

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

0 голосов
5 ответов
0 голосов
1 ответ
спросил 01 Апр, 14 от Kania (5,180 баллов)
0 голосов
6 ответов
0 голосов
5 ответов
спросил 10 Июнь, 13 от asagava (680 баллов)