-
Постов
763 -
Зарегистрирован
-
Посещение
-
Победитель дней
24
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные andros0789
-
-
16 минут назад, Respected сказал:
Яваскриптом добавить класс для проверки не получится, нужно сделать как предложил kgb:
{{\IPS\Output::i()->bodyClasses[] = 'fullNews';}} {{if in_array('fullNews', \IPS\Output::i()->bodyClasses )}} {{else}} <section class="promo-strip span12"> <ul class="promo-strip__list row "> {block="newstop4"} </ul> </section> {{endif}}
У меня добавился класс))
-
Почему то не работает(
Начнем сначала)))
В полной новости (шаблон Display) добавил скрипт в самый низ<script> $("#default-body").addClass("fullNews"); </script>
В шаблоне самой страницы новостей я к ненужным в полной новости блокам (div'ам) прописываю код
{{if in_array('fullNews', \IPS\Output::i()->bodyClasses )}} {{else}} <section class="promo-strip span12"> <ul class="promo-strip__list row "> {block="newstop4"} </ul> </section> {{endif}}
И получается когда я захожу в полную новость у меня присваивается класс скриптом, и идет проверка с помощью условия на наличие класса в боди? Так? И автоматом его скрывает. Или я допустил ошибку?
-
5 минут назад, Respected сказал:
{{if in_array('МОЙКЛАСС', \IPS\Output::i()->bodyClasses )}} Класс имеется {{else}} Класса нет {{endif}}
То есть получается тут нет такого понятия, если есть класс вывести, если нет то не вывести?)) Я имею ввиду, придется два раза код прописывать
{{if in_array('fullNews', \IPS\Output::i()->bodyClasses )}} <section class="promo-strip span12"> <ul class="promo-strip__list row "> {block="newstop4"} </ul> </section> {{else}}
К примеру надо убрать этот блок в полной новости. Вот как его показать на главной в Страницах и убрать в полной новости? то ли я че то не то делаю, то ли хз
-
2 часа назад, kgb сказал:
Зачем плодить сущности и засорять шаблон скриптом, если {{\IPS\Output::i()->bodyClasses[] = 'fullNews';}} добавит класс fullNews в боди?
Ну прописал я {{\IPS\Output::i()->bodyClasses[] = 'fullNews';}} в боди в шаблоне страницы, а дальше то что??? Как мне показать свой шаблон полной новости? В этом то и вся беда. Мне нужно в полной новости убрать половину кода ведь. Поэтому и не пойму как убрать с помощью скрипта, точнее добавить скриптом. Прописав скрипт в шаблон полной новости, а в шаблоне страницы прописать в ненужные (блоки которые не нужны в фуллстори) условие.... Как условие прописать, если в классе боди есть fuulNews то не показывать этот блок?
{{\IPS\Output::i()->bodyClasses[] = 'fullNews';}} не катит... Так как класс добавляется скриптом.
Как в IPS с помощью hasClass сделать проверку класса боди?
-
Совет нужен) Если я в шаблон полной новости пропишу скрипт с добавлением класса в body
<script> $("#default-body").addClass("fullNews"); </script>
А после этого пропишу вместо
{{\IPS\Output::i()->bodyClasses[] = 'fullNews';}}
Свое условие на проверку класса через hasClass в <body class="fullNews"> для удаления ненужных блоков в полной новости. Нормально будет как думаете знатоки?
-
В 14.04.2017 в 23:04, kgb сказал:В 14.04.2017 в 13:17, andros0789 сказал:
Как например в GlobalTemplate прописать , а точнее скрыть например <div class="1"></div> на форумах, а показать на страницах?
А в чем проблема?
<div class="1 ipsHide"></div>
Не будет показываться нигде
а в css прописываем
body[data-pageapp="cms"] .1 { display: block; }
Вариант 2 - еще лучше/ Через переменную $location , которая в GlobalTemplate есть.
{{if $location['app'] == 'cms'}} <div class="1"></div> {{endif}}
В 14.04.2017 в 13:17, andros0789 сказал:Или скрыть на страницах, а показать в полной новости на этих страницах?
Здесь сложнее, т.к. и $location['app'] и $location['module'] будут одинаковыми. Но есть выход, называется bodyClasses .
В шаблоне страницы record.phtml добавляем bodyClasses, например вот так
{{\IPS\Output::i()->bodyClasses[] = 'fullNews';}}
И тогда у нас body уже имеет доп. класс fullNews / Соот-но или через css body.fullNews или чекркз проверку существования класса
{{if !in_array('fullNews', \IPS\Output::i()->bodyClasses )}} блаблабла {{endif}}
Вот и встал вопрос на этом месте у меня)
Прописываю я в класс {{\IPS\Output::i()->bodyClasses[] = 'fullNews';}} в настройках содержимого страницы, где у мен свой шаблон. Прописываю условия что идут ниже в твоем примере. Но как определить что я нахожусь в полной новости то?))Вопрос)
Убирает блоки на главной и в полной новости, а надо как то ему прописать что только в полной новости) -
Только что, kgb сказал:
Это хорошо, Но на всякий случай, часто помогает вот это
{{echo '<pre>';}} {{print_r($record);}} {{echo '</pre>';exit;}}
Что бы понять, что же там у нас в переменной $record (или $row или что там еще будет )
Воу крутяк! Осталось научиться мне теперь условия составлять)))
-
а все понял)
{ $record->record_comments} и {$record->record_views }
-
Маленький вопрос, как сокрашать вывод кол-ва комментов и просмотров?
{lang="num_views_with_number" pluralize="$record->record_views"}{lang="num_comments" pluralize="$record->record_comments"}
Без слова ПРОСМОТРОв и КОММЕНТАРИЕВ. Просто цифры
-
огромнейшее тебе!
-
Только что, kgb сказал:
Если речь идет о блоках pages, добавляемых через менеджер виджетов, то стандатным средство это никак, я писал выше, что
а движек для определения места блока использует как раз location ( точнее поле "area_area" в таблице "cms_page_widget_areas" ). Так только создавать для каждого шаблона bodyClasses
{{\IPS\Output::i()->bodyClasses[] = 'cms_display';}} {{\IPS\Output::i()->bodyClasses[] = 'cms_listing';}} и т.д.
и происывать прям блоках условия, правда есть недостаток, блоки кешировать нельзя.
Есть другой вариант. Отказаться от менеджера виджетов, а также от глобального сайдбара и прям в шаблонах создать места для блоков, включая сайдбар и вставлять блоки через {block="KEY"}
Есть правда третий вариант, который я реализовал, но он требует прямого вмешательства в исходный код. Они там одну строчку не дописали, или забыли или просто не захотели спецом
как же радует что есть грамотные) Спасибо друг. И извини за былое))было дело как то гадость написал в твой адрес.
И может насчет третьего напишешь,так сказать для общего познания.
-
Только что, kgb сказал:
Это как? Для отображения базы данных используется - для полной записи - группа шаблонов "display", для категорий - "listing", для главной страницы базы - в зависимости от настроек - или "category_articles" ( с вариантами category_2_column_first_featured, category_2_column_image_feature и т.д. ) или "category_index" . Разные шаблоны для одной базы , например разные шаблоны display сделать нельзя. Я не понимаю.
Самое простое, добавить поле чекбокс и включать его при добавлении видео-новости. А потом проверять в шаблоне и в зависимости от значения выводить то, что надо
Тоже дело говоришь!) Соглашусь)
А вот как к примеру разные два кастомных блока на разных страницах показать? К примеру в категории один блок а в полной новости другой боковой блок? Так же как и выше описали? -
-
18 минут назад, kgb сказал:
Во первых кто тебя заставляет все лепить в глобал шаблоне? Во-вторых, ты спросил, я показал механизмы, которы, кстати, сам движек использует. Например bodyClasses используется для вывода меню в зависимости от шаблона, а location для определания места виджетов, добавляемых через менеджер виджетов. Ну и в третьих чем твое от WP
[not-aviable=main] {content} [/not-aviable]
отличается от
{{if $location['app'] == 'cms'}} Блок {{endif}}
???????
Или опиши конкретно, что где хочешь, а то не понятно о каком блоке речь, толи ты его ручками в шаблоне прописываешь, толи это кастом блок от pages толи еще что
От души за помощь)) буду пилить дальше)
А вот еще вопрос) Как к примеру в краткой новости в Pages прописать показ изображения (к примеру иконку что это видео новость а не обычная новость) в зависимости от категории? К примеру на главной странице новостей показаны новости всех категорий, но у всех идет один шаблон, только с показом иконки PLAY на изображении к новости. которая накладывается условием типа если это видео, то показать, если обычная, то скрыть.
-
kgb, эт получается пол шаблна глобал будет в тегах?)) в принципе нормальное решение) Просто есть много страниц, подкатегорий, баз данных и тд..шаблон почти везде одинаковый, но есть где например есть боковой блок а есть где его нет...вот и сижу голову ломаю)
-
Кто же все таки подскажет? А то тема вниз ушла уже...
-
Kinkl, лови код вставляй в sidebar_left
-
сделаю его скину тебе сюда))
-
кинь ссылку сайта в лс. просто я же не знаю какой у тебя шаблон там)
-
Вот на DLE например имеются такие теги:
[not-aviable=main] {content} [/not-aviable] [aviable=fullstory] {content} [/aviable]
Как например в GlobalTemplate прописать , а точнее скрыть например <div class="1"></div> на форумах, а показать на страницах? Или скрыть на страницах, а показать в полной новости на этих страницах? Кто владеет данной информацией, помогите советом , очень нужно для моего проекта. Заранее благодарен знатоки!
И PS Не по теме:
-
ребят я все понимаю. Но неужели такая лень нынче у всех? Сложно найти код и стиль спойлера и вставить его в профиль? Подбить под себя стили7
-
Я делал по своему))
Вместо
{template="sidebar" if="theme.sidebar_position == 'left'" app="core" group="global" params="'left'"}
вставил свой шаблон
{template="left_sidebar" app="core" group="global" params=""}.
В шаблон вставлял то что мне нужно в этом блоке, а правый у меня через визуальный редактор редактировался.
-
TemKa_SD, так опиши что хочешь полностью, помогу тебе
-
TemKa_SD, что за изобретение велосипеда? Вроде нормально все понятно сделано, зашел в страницы, создал страницу html или через визуальный редактор. Все, создал базу, присоединил ее на страницу. Все пашет ноль проблем
Как скрыть блоки на определенной странице?
в Техническая поддержка Invision Community
Опубликовано
Буду дома проверю)))а пока огромное спасибо за то чт не проходите мимо!
Думаю многие забросят старые движки зная эти теги для создания больших порталов!