Перейти к содержанию

kgb

Актив
  • Постов

    695
  • Зарегистрирован

  • Посещение

  • Победитель дней

    31

Сообщения, опубликованные kgb

  1. Интерессный плагинчик. А вот в аттаче моя, слегка измененная версия. Разница небольшая, но может комуто быть полезна. А разница в то, что доблена своя (конкрено для этого плагина) языковая строка. Т.е. вместо стандартного read more , может быть Open All/ Соот-но через управление языками можно изменить, например для русского свою строку задать, например "Открыть цитату"

    По умолчанию, просто "Open"

    Minimized Quote_1.0_ KGB.xml

    Minimized Quote_1.0_ KGB.xml

  2. 1 минуту назад, Quzask сказал:

    А есть ли какое-нибудь решение,

    Самое простое и легкое, не удалять код поиска из оригинального места, а скрыть его с помощю CSS для больших экранов. Перенесенный код наоборот скрывать (при необходимости) для смартов и телефонов. Это решение для стандартного шаблона, что там с нестандартными - это к авторам.

  3. Решение во вложении.

    Путь applications/core/extensions/core/ModCp/Unapproved.php

    Оригинальные строчки заккоментированы и прокоментированы // kgb original

    Добавленные прокомментированы // kgb fix

    Это на тот случай, если в след. версиях решат проблему. Будет возможность сравнить файлы

    Unapproved.php

    Unapproved.php

  4. Господа., проверьте кому не лень, как работает модерация (одобрение) комментариев статусов через панель модераторов

    Дело в том, что столкнулся с багом. Если включить статусы и включить модерацию статусов, то сами статусы одобряются через панель модерации нормально, а вот с одобрением комментариев к статусам вылезает проблема, комменты не находятся.

    Проверьте у себя, у вас так же или это мой личный глюк?

  5. 9 минут назад, andros0789 сказал:

    И извини за былое))

    Не помню. Ты пробегись по моим сообщениям, я ведь в выражениях не стесняюсь и для некоторых это тоже гадости, хотя я просто называю вещи своими именами))))))

     

    13 минут назад, andros0789 сказал:

    И может насчет третьего

    Ну я тоже столкнулся с той же проблемой. Если на форумах на главной, в разделах и в темах можно показывать разные блоки, то для Pages везде показывается один, да его еще хрен удалишь)))))) (кстати, у кого проблема с удалением, простой способ - перемещаем в другоу место, например из сайдбара в хидер и тут же удаляем))). В то же время в режиме page bilder движек предусматривает создание кастомных мест для виджетов. Если открыть  шаблоны page_builder то мы увидем там, как пример для трех колонок

    <div>
    	<div class='ipsGrid ipsGrid_collapsePhone'>
    		<div class='ipsGrid_span4'>
    			{template="widgetContainer" group="pages" app="cms" params="'col1', $widgets, 'vertical'"}
    		</div>
    		<div class='ipsGrid_span4'>
    			{template="widgetContainer" group="pages" app="cms" params="'col2', $widgets, 'vertical'"}
    		</div>
    		<div class='ipsGrid_span4'>
    			{template="widgetContainer" group="pages" app="cms" params="'col3', $widgets, 'vertical'"}
    		</div>
    	</div>
    </div>

    Однако попытка создать создесть кастомный виджет контейнер в шаблонах при ручном режиме , например {template="widgetContainer" group="pages" app="cms" params="'MyCustomArea', $widgets, 'vertical'"} ни к чему не привела, не работает.

    Выясням. Находим класс, который за это отвечает, он здесь /applications/cms/sources/Pages/Page.php и видим.

    Для page_builder такой код

    			if ( $this->type === 'builder' )
    			{
    				list( $group, $name, $key ) = explode( '__', $this->template );
    				\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('pages')->globalWrap( $nav, \IPS\cms\Theme::i()->getTemplate($group, 'cms', 'page')->$name( $this, $this->getWidgets() ), $this );
    			}

    Где getWidgets() как раз вытаскивает как стандартные так и кастомные места для виджетов.

    Ну а для ручного режима код такой

    			else
    			{
    				/* Populate \IPS\Output::i()->sidebar['widgets'] sidebar/header/footer widgets */
    				$this->getWidgets();
    				\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'pages', 'cms' )->globalWrap( $nav, $this->getHtmlContent(), $this );
    			}

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

    			else
    			{
    				/* Populate \IPS\Output::i()->sidebar['widgets'] sidebar/header/footer widgets */
    				//$this->getWidgets(); //original
    				\IPS\Output::i()->sidebar['widgets'] = $this->getWidgets();//custom widget area
    				\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'pages', 'cms' )->globalWrap( $nav, $this->getHtmlContent(), $this );
    			}

    И упс, в жопу программеров от IPS? мы сами с ушами)))

    Теперь мы шаблонах пишем, например 

    {template="widgetContainer" group="global" app="core" params="'header_MyTemplate_Display', 'horizontal'"}
    
    или 
    
    {template="widgetContainer" group="global" app="core" params="'sidebar_MyTemplate_Display', 'vertical'"}
    
    или для листинга 
    
    {template="widgetContainer" group="global" app="core" params="'header_MyTemplate_Listing', 'horizontal'"}
    
    Ну и т.д.

    и получаем кастомное мето для виджета. Там, Прадва еще с css немного может придеться поработать, но это уже мелочи

  6. 1 минуту назад, andros0789 сказал:

    А вот как к примеру разные два кастомных блока на  разных страницах показать?

    Если речь идет о блоках pages, добавляемых  через менеджер виджетов, то стандатным средство это никак, я писал выше, что

    15 часов назад, kgb сказал:

    и $location['app']  и $location['module']

    а движек для определения места блока использует как раз location ( точнее поле "area_area" в таблице "cms_page_widget_areas" ). Так  только создавать  для каждого шаблона bodyClasses

    {{\IPS\Output::i()->bodyClasses[] = 'cms_display';}}
    {{\IPS\Output::i()->bodyClasses[] = 'cms_listing';}}
    и т.д.

    и происывать прям блоках условия, правда есть недостаток, блоки кешировать нельзя.

     

    Есть другой вариант. Отказаться от менеджера виджетов, а также от глобального сайдбара и прям в шаблонах создать места для блоков, включая сайдбар и вставлять блоки через {block="KEY"}

     

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

  7. 2 минуты назад, andros0789 сказал:

    внутри будут шаблоны разные

    Это как? Для отображения базы данных используется - для полной записи - группа шаблонов "display",  для категорий -  "listing", для главной страницы базы - в зависимости от настроек - или "category_articles" ( с вариантами category_2_column_first_featured, category_2_column_image_feature и т.д. ) или "category_index" . Разные шаблоны для одной базы ,  например разные шаблоны display сделать нельзя. Я не понимаю.

     

    Самое простое, добавить поле чекбокс и включать его при добавлении видео-новости. А потом проверять в шаблоне и в зависимости от значения выводить то, что надо

  8. 13 часов назад, andros0789 сказал:

    kgb, эт получается пол шаблна глобал будет в тегах?)) в принципе нормальное решение) Просто есть много страниц, подкатегорий, баз данных и тд..шаблон почти везде одинаковый, но есть где например есть боковой блок а есть где его нет...вот и сижу голову ломаю)

    Во первых кто тебя заставляет все лепить в глобал шаблоне? Во-вторых, ты спросил, я показал механизмы, которы, кстати, сам движек использует.  Например bodyClasses используется для вывода меню в зависимости от шаблона, а location для определания места виджетов, добавляемых через менеджер виджетов. Ну и в третьих чем твое от WP

    [not-aviable=main] {content} [/not-aviable] 

    отличается от

    {{if $location['app'] == 'cms'}}
    	Блок
    {{endif}}

    ???????

     

    Или опиши конкретно, что где хочешь, а то не понятно о каком блоке речь, толи ты его ручками в шаблоне прописываешь, толи это кастом блок от pages толи еще что

  9. 9 часов назад, 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}}

     

    9 часов назад, 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}}

     

    9 часов назад, andros0789 сказал:

    И PS Не по теме:

    Там три буквы пропущено, фильтр плохих слов не прошли

  10. 35 минут назад, kanv1s сказал:

    уникальная главная страница с уникальным отображением новостей, которую вы сможете применить на своем проекте

    Пара кастом блоков за 7 тысяч? Может мне начать лепить, десяток в день можно сделать, миллионером стану

  11. 6 часов назад, TemKa_SD сказал:

    всё тоже самое, но вывести не ключ а значение.

    Ну так обращаться не по номеру а через customFieldDisplayByKey

    {{$myVar = explode ( ',' , $row->customFieldDisplayByKey('components') );}}

    Или ключи и значения одинаковыми сделать

  12. Немного не поняятно что к чемую

    Что выводит щас вот такой код?

     

    {{echo '<pre>';}}
    {{print_r({$row->customFieldDisplayByKey('components', 'raw'));}}
    {{echo '</pre>';exit;}}

    А еще лучше по id поля

    {{echo '<pre>';}}
    {{print_r($record->field_NN);}}
    {{echo '</pre>';exit;}}

     

  13. В 06.04.2017 в 16:59, TemKa_SD сказал:

    Есть вот такая страничка у меня https://wc3.games/ht/ - тут есть фильтры, выборка. Как сделать такие же но через функционал IPS

    По приведенной ссылке кастомные фильтры, т.е. созданные отдельно от движка, хотя возможно чтото от js-фреймворка IPS использовалось. В то же время в IPS есть возможность  по некоторым типам полей, в частности Stlect Box задавать фильтрацию.

    1.jpg

    2.jpg

    3.jpg

  14. 13 часов назад, RZaK55 сказал:

    Вот посмотри на сколько ты гнилой человек,..

    Разумеется гнилой, я ведь не стал поддтирать твои сопли сразу, а лишь протянул платок.  Но ведь в итоге с index.php ты разобрался

    14 часов назад, RZaK55 сказал:

    потому как, весь тот бред что ты предлагаешь на уровне 4 класса, был давно проделан и он не помог.

    Т.е.  index.php ты не добавлял? Или кеш не смог перестроить?

    13 часов назад, RZaK55 сказал:

    Поэтому, пожалуйста не пиши больше ничего "умного".

    Хорошо, лично твои вопросы буду игнорировать, жаль уже опубликовал ответ на один.

    13 часов назад, RZaK55 сказал:

    P.S по поводу папки Admin, она переименована и не отображается в списке !

    "Ребята, я вам тут все рассказывать не собираюсь, про папку админ промолчу, вы  сами обязаны догадаться, что я там утаил, но вы должны подсказать, что не так!"

    И кто тут гнилой?

  15. В 05.04.2017 в 14:11, Respected сказал:

    Да, в Pages такое просто сделать, но в форумах, как мне видится, нужно добавлять столбец в таблицу постов и выводить его условием.

    Теоретически наверное можно, практически нет никакого смысла - на форумах пользовательский контент, а заставить пользователя публиковать что то на разных языках - дело неблагодарное. Можно, кстати, не столбец добавлять, а создать теги-маркеры, типа <rus></rus>, <eng></eng> и выводить контент между ними. Ну это так, размышления.

    В 06.04.2017 в 00:55, RZaK55 сказал:

    Можно более подробно по возможности...

    Дык куда же подробнее. Пполя cоздаются/редактируются в приложении Pages (страницы) . Там же редактируются шаблоны. Пример я привел. Если языков более двух, лучше так сделать

    <section class="ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'>
    	{{if \IPS\Member::loggedIn()->language()->id === 1}}
    		{$record->_content|raw}
    	{{endif}}
    	{{if \IPS\Member::loggedIn()->language()->id === 2}}
    		{$record->customFieldDisplayByKey('Content2', 'display')|raw}
    	{{endif}}
    	{{if \IPS\Member::loggedIn()->language()->id === 3}}
    		{$record->customFieldDisplayByKey('Content3', 'display')|raw}
    	{{endif}}
    </section>

     

  16. Во первых я тебе не хамлю, а называю вещи своими именами. Потому что твой вопрос из области - я не знаю как сопли подтереть, подскажите. Но здесь не ясли, учить сморкаться или вытирать задницу.

    Во вторых, кроме , index у тебя не хватает хватает папки admin если верить скрину.

    Ну и в-третьих на последнем скрине часто встречаемая ситуация. Над просто кеш перестроить. Как?  Здесь это не раз обсуждалось, я за тебя искать не буду, тем более с телефона

  17. 1 час назад, RZaK55 сказал:

    А я смотрю ты родился сразу грамотным и нигде не учился, да и ошибок наверное не делал никогда.

    Да, я вначале учился, а потом уже полез в интернет сайты выкладывать  А ты даже азбуку еще не выучил, а уже садишься романы писать, а потом спрашиваешь, а что это за буква.

    44 минуты назад, WOLF сказал:

    на хостинге бекап должен быть, о

    А на хрена там бэкап. Пусть из архива дистрибутива недостающее возьмет и на хостинг закачает. Там не хватает то одного каталога и одного файла. 

    RZaK55,  ты элементарно сравнить то, что у тебя на хостинге и то что в дистрибутиве можешь?  Или надо объяснять как это сделать?

     

  18. 1 час назад, RZaK55 сказал:

    уда-то нажал, что-то удалил случайно ( на надо только говорить гадостей...)

    А что еще говорить? Когда нибудь будешь бриться - шею перережешь случайно.

    Если ты не видишь, что нет индексного файла, зачем в сайтостроительство лезешь?

×
×
  • Создать...