kgb
Актив
-
В сети
-
Количество сообщений
696 -
Reputation
466 kgb's Reputation
Everything posted by kgb
-
Профиль настройка
Есть. аж 3 дополнения. 1 платное https://invisionpower.com/files/file/7833-profile-field-per-user-group/ , 1 бесплатное http://ipbskins.ru/forum/files/file/328-siv41-allow-groups-for-profile-fields/ , 3-те мое, универсальное, но я не выкладывал, жадный)))))))
- Есть какое то дополнение для редактирование и усовершенствования меню?
- Проблема в Menu Manager...
-
Ошибка при перестраивании
А при чем здессь логика IPS& Надо пробежаться по стеку вызовов и понять, как формируется запрос и где проблема.
- Есть какое то дополнение для редактирование и усовершенствования меню?
-
Изменение Темы на форуме
Так не лучше, так должно быть. Теперь дальше. А название скина местные екстрасенсы должны угадывать? Или ты думаешь, здесь народ все шаблоны наизусть знает? (млядь, поколение комиксов, включайте мозги, учитесь задавать вопросы) По скрину видно что настроек темы нет. Значит или тема кривая, или тема не соответствует версии движка, или просто глюканула в момент загрузки. Можно попробовать создать копию дефолтной темы, а потом эту загрузить поверх дефолтной
-
Изменение Темы на форуме
Конечно. Раз пользуешься рассадником заразы радикалом. Потрудись скрины сюда залить
-
Ошибка при перестраивании
По логике вещей, твой запрос SELECT * FROM `ips_core_message_posts` AS `core_message_posts` WHERE msg_id < IS NULL... звучит так - ВЫБРАТЬ из таблицы `ips_core_message_posts` и назвать выбранное как `core_message_posts` ГДЕ поле msg_id меньше чем ЕСТЬ НОЛЬ . Сооброжаешь? Надо выяснять откуда там IS NULL берется.
-
Как скрыть блоки на определенной странице?
Это хорошо, Но на всякий случай, часто помогает вот это {{echo '<pre>';}} {{print_r($record);}} {{echo '</pre>';exit;}} Что бы понять, что же там у нас в переменной $record (или $row или что там еще будет )
-
Minimized Quote
Интерессный плагинчик. А вот в аттаче моя, слегка измененная версия. Разница небольшая, но может комуто быть полезна. А разница в то, что доблена своя (конкрено для этого плагина) языковая строка. Т.е. вместо стандартного read more , может быть Open All/ Соот-но через управление языками можно изменить, например для русского свою строку задать, например "Открыть цитату" По умолчанию, просто "Open" Minimized Quote_1.0_ KGB.xml Minimized Quote_1.0_ KGB.xml
-
Перенос поиска
Самое простое и легкое, не удалять код поиска из оригинального места, а скрыть его с помощю CSS для больших экранов. Перенесенный код наоборот скрывать (при необходимости) для смартов и телефонов. Это решение для стандартного шаблона, что там с нестандартными - это к авторам.
-
Модерация (одобрение) комментариев статусов.
Решение во вложении. Путь applications/core/extensions/core/ModCp/Unapproved.php Оригинальные строчки заккоментированы и прокоментированы // kgb original Добавленные прокомментированы // kgb fix Это на тот случай, если в след. версиях решат проблему. Будет возможность сравнить файлы Unapproved.php Unapproved.php
-
Перенос поиска
Перенося поиск, не забывайте, что один и тот же код поиска используется как для "полной" версии, так и для "мобильного" отрображения
-
Модерация (одобрение) комментариев статусов.
Спасибо. Впрочем я нашел этот баг и решение на него, чуть позже отпишу
-
Модерация (одобрение) комментариев статусов.
Господа., проверьте кому не лень, как работает модерация (одобрение) комментариев статусов через панель модераторов Дело в том, что столкнулся с багом. Если включить статусы и включить модерацию статусов, то сами статусы одобряются через панель модерации нормально, а вот с одобрением комментариев к статусам вылезает проблема, комменты не находятся. Проверьте у себя, у вас так же или это мой личный глюк?
-
Как скрыть блоки на определенной странице?
Не помню. Ты пробегись по моим сообщениям, я ведь в выражениях не стесняюсь и для некоторых это тоже гадости, хотя я просто называю вещи своими именами)))))) Ну я тоже столкнулся с той же проблемой. Если на форумах на главной, в разделах и в темах можно показывать разные блоки, то для 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 немного может придеться поработать, но это уже мелочи
-
Как скрыть блоки на определенной странице?
Если речь идет о блоках pages, добавляемых через менеджер виджетов, то стандатным средство это никак, я писал выше, что а движек для определения места блока использует как раз location ( точнее поле "area_area" в таблице "cms_page_widget_areas" ). Так только создавать для каждого шаблона bodyClasses {{\IPS\Output::i()->bodyClasses[] = 'cms_display';}} {{\IPS\Output::i()->bodyClasses[] = 'cms_listing';}} и т.д. и происывать прям блоках условия, правда есть недостаток, блоки кешировать нельзя. Есть другой вариант. Отказаться от менеджера виджетов, а также от глобального сайдбара и прям в шаблонах создать места для блоков, включая сайдбар и вставлять блоки через {block="KEY"} Есть правда третий вариант, который я реализовал, но он требует прямого вмешательства в исходный код. Они там одну строчку не дописали, или забыли или просто не захотели спецом
-
Как скрыть блоки на определенной странице?
Это как? Для отображения базы данных используется - для полной записи - группа шаблонов "display", для категорий - "listing", для главной страницы базы - в зависимости от настроек - или "category_articles" ( с вариантами category_2_column_first_featured, category_2_column_image_feature и т.д. ) или "category_index" . Разные шаблоны для одной базы , например разные шаблоны display сделать нельзя. Я не понимаю. Самое простое, добавить поле чекбокс и включать его при добавлении видео-новости. А потом проверять в шаблоне и в зависимости от значения выводить то, что надо
-
Как скрыть блоки на определенной странице?
А чем видео новость отличается от обычной?
-
Как скрыть блоки на определенной странице?
Во первых кто тебя заставляет все лепить в глобал шаблоне? Во-вторых, ты спросил, я показал механизмы, которы, кстати, сам движек использует. Например bodyClasses используется для вывода меню в зависимости от шаблона, а location для определания места виджетов, добавляемых через менеджер виджетов. Ну и в третьих чем твое от WP [not-aviable=main] {content} [/not-aviable] отличается от {{if $location['app'] == 'cms'}} Блок {{endif}} ??????? Или опиши конкретно, что где хочешь, а то не понятно о каком блоке речь, толи ты его ручками в шаблоне прописываешь, толи это кастом блок от pages толи еще что
-
Как скрыть блоки на определенной странице?
А в чем проблема? <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}} Здесь сложнее, т.к. и $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}} Там три буквы пропущено, фильтр плохих слов не прошли
-
Продам форум
Пара кастом блоков за 7 тысяч? Может мне начать лепить, десяток в день можно сделать, миллионером стану
-
Помогите составить условие
Ну так обращаться не по номеру а через customFieldDisplayByKey {{$myVar = explode ( ',' , $row->customFieldDisplayByKey('components') );}} Или ключи и значения одинаковыми сделать
-
Помогите составить условие
{{$myVar = explode ( ',' , $record->field_NN );}} {$myVar[0]} {$myVar[1]}
-
Помогите составить условие
Немного не поняятно что к чемую Что выводит щас вот такой код? {{echo '<pre>';}} {{print_r({$row->customFieldDisplayByKey('components', 'raw'));}} {{echo '</pre>';exit;}} А еще лучше по id поля {{echo '<pre>';}} {{print_r($record->field_NN);}} {{echo '</pre>';exit;}}