-
Постов
153 -
Зарегистрирован
-
Посещение
-
Победитель дней
17
Активность репутации
-
WaNted отреагировална пост Exception в древовидные комментарии\сообщения
WaNted спасибо за помощь, буду пилить дальше. Вот что пока что вышло:
-
WaNted получил реакцию от Exception в древовидные комментарии\сообщения
Тогда попробуйте получать значение с помощью \IPS\Request::i()->key. Если тоже вернёт изначально установленное значение, то попробуйте указывать скрытое поле в шаблоне.
-
WaNted получил реакцию от Exception в древовидные комментарии\сообщения
Скрытые поля можно добавить в методе _commentForm.
/** * Return the comment form object * * @return \IPS\Helpers\Form */ protected function _commentForm() { $form = parent::_commentForm(); $form->hiddenValues['key'] = 'value'; return $form; } Обрабатывать форму в методе processCommentForm.
/** * Process the comment form * * @param array $values Array of $form values * @return \IPS\Content\Comment */ public function processCommentForm( $values ) { $comment = parent::processCommentForm( $values ); $comment->key = $values['key']; $comment->save(); return $comment; }
-
WaNted получил реакцию от gudman1 в Запрет удалять свои сообщения спустя заданное время.
Имеется плагин собственной разработки. Если интересует, можете написать в ЛС.
-
WaNted получил реакцию от VladD в Как вставить в поле url страницы пользователя
Я так понимаю это мой плагин интеграции с Bitrix24? В таких случаях конечно лучше писать автору плагина.
-
-
-
WaNted получил реакцию от VladD в Отзывы в магазине
Лучше добавить проверку, если включены отзывы, упустил этот момент.
{{if $package->reviewable}} <div id='elReviews'> {template="reviews" group="store" app="nexus" params="$item"} </div> {{endif}}
-
WaNted получил реакцию от VladD в Отзывы в магазине
Откройте шаблон package и удалите следующие участки кода:
{{if $package->reviewable}} <li> <a href="{$item->url()->setQueryString('tab', 'reviews')}" id="elReviews" class="ipsTabs_item ipsType_center {{if \IPS\Request::i()->tab == 'reviews'}}ipsTabs_activeItem{{endif}}" role="tab" aria-selected="{{if \IPS\Request::i()->tab == 'reviews'}}true{{else}}false{{endif}}">{lang="product_reviews_pl"}</a> </li> {{endif}} {{if $package->reviewable}} <div id="ipsTabs_elProductTabs_elReviews_panel" class="ipsTabs_panel ipsAreaBackground_reset ipsPadding" aria-hidden="false"> {template="reviews" group="store" app="nexus" params="$item"} </div> {{endif}} Потом перед тегом </section> вставьте код:
<div id='elReviews'> {template="reviews" group="store" app="nexus" params="$item"} </div> Возможно в этот div понадобится добавить классы с отступами и др., чтобы всё гармонично смотрелось.
С якорем всё понятно думаю, просто к ссылке на товар добавьте #elReviews.
-
-
WaNted получил реакцию от VladD в Отзывы в магазине
#elProductTabs [data-action="expandTabs"] { display: none !important; } #elProductTabs [role="tablist"] { display: flex; } #elProductTabs .ipsTabs_item:not( .ipsTabs_activeItem ) { display: block !important; color: inherit !important; } в custom.css
-
WaNted получил реакцию от Respected в Отзывы в магазине
#elProductTabs [data-action="expandTabs"] { display: none !important; } #elProductTabs [role="tablist"] { display: flex; } #elProductTabs .ipsTabs_item:not( .ipsTabs_activeItem ) { display: block !important; color: inherit !important; } в custom.css
-
WaNted получил реакцию от Respected в Дизайн всплывающих уведомлений
.cNotificationFlash .ipsType_light { //Цвет текста } в custom.css
-
WaNted получил реакцию от DenisBolotov в Дизайн всплывающих уведомлений
.cNotificationFlash .ipsType_light { //Цвет текста } в custom.css
-
WaNted отреагировална пост ololsh в member_group_id
Был не прав, как не парадоксально но ид пользователя действительно типа int (видимо все же работает ORM). Значит точное сравнение должно работать и в доках написано правильно.
Можно css и в шаблоне, можно указать стиль непосредственно элементу...
Если css будет кешироваться, то использование такой конструкции бессмысленно, ибо файл закешируется от текущего пользователя и все условия будут применены для остальных пользователей. Хотя возможно php исполняется в нем при каждой загрузке страницы, не знаю, но на мой взгляд это не оптимально. По моему хороший вариант это который предложил @вантед или задать стиль непосредственно элементу style="{{if member.member_group_id == 7}}font-color: black;{{else}}font-color: white;{{endif}}"
-
WaNted отреагировална пост ololsh в member_group_id
Ничего странно, все данные из бд возвращаются в виде string-а, а в коде сравнивается типа integer и конечно они не будут равны. Какой-то новомодный стиль в php пихать направо и налево сравнение по типу. Как я устал от этого уже, приходится спорить часами - если значение не может быть иметь разные типы данных которые приводятся к другому формату при сравнения тогда не имеет смысла использовать сравнение по типу.
2ТС
@WaNtedвам подсказал правильный вариант. Файла CSS кешируются на диске, использовать там php переменные не имеет смысла.
-
WaNted получил реакцию от ololsh в member_group_id
<a href='#' class='button group_{member.member_group_id}'>Кнопка</a> .button { } .button.group_1 { } .button.group_4 { }
-
WaNted получил реакцию от Respected в про загрузку файлов частями
Покажите значения PHP-переменных: upload_max_filesize, post_max_size, memory_limit. Загрузка частями есть в IPS, максимальный размер одной части = наименьшему значению одной из этих переменных.
-
WaNted отреагировална пост NooBAsTiK в Не сохраняются настройки пользователей
Со сменой экрана бэкграунда помогло, с окном приветствия я так понимаю такая-же фишка. Спасибо большое
Со сменой экрана бэкграунда помогло, с окном приветствия я так понимаю такая-же фишка. Спасибо большое.
Да такая-же ерунда.... заменил в js_globalMessage
ips.utils.cookie.set( 'focusMessage_{theme="global_cookie"}', 'dismissed', true ); на
ips.utils.cookie.set( 'focusMessage_{theme="global_cookie"}', 'dismissed' ); и всё заработало
-
WaNted получил реакцию от andros0789 в Приложение "Videos" - организовать страницу с плейлистом в виде Json
$video = \IPS\videos\Video::loadAndCheckPerms( \IPS\Request::i()->id ); \IPS\Output::i()->json( array( 'title' => $video->title, 'description' => $video->description, 'playlist' => array( 'title' => $video->title, 'mediaid' => $video->tid, 'link' => $video->url(), 'image' => $video->thumbnail, 'description' => $video->description ) ) );
-
WaNted получил реакцию от sergstesh в Как сместить значки навигационного бара
#elUserNav { top: 101px; } в custom.css
-
WaNted получил реакцию от aplayer в Создание плагина
\IPS\Theme::i()->getTemplate эта функция возвращает уже скомпилированный шаблона (html) сразу же в content и естественно кэшируется. {template="phtml" group="plugins" location="global" app="core"} шорткод той же самой функции, только тут уже шаблон компилируется в момент вывода, то что Вам нужно.
-
WaNted отреагировална пост aplayer в Создание плагина
Оставлю здесь заметку для себя чтобы не забыть.
создаем хук шаблона phtml шалон
хук темы
//<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if (!\defined('\IPS\SUITE_UNIQUE_KEY')) { exit; } class hook90 extends _HOOK_CLASS_ { /* !Hook Data - DO NOT REMOVE */ public static function hookData() { return array_merge_recursive( array ( 'globalTemplate' => array ( 0 => array ( 'selector' => '#ipsLayout_mainArea', 'type' => 'add_inside_start', 'content' => '{expression="\IPS\Theme::i()->getTemplate(\'plugins\',\'core\', \'global\')->test()"}', ), ), ), parent::hookData() ); } /* End Hook Data */ } В нем главное прописать
'{expression="\IPS\Theme::i()->getTemplate(\'plugins\',\'core\', \'global\')->test()"}' и можно про этот хук забыть.
Cоздаем хук кода с классом \IPS\core\modules\front\system\plugins
В нем создаем функцию (_test()), которая и будет выполнять классический php
//<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if (!\defined('\IPS\SUITE_UNIQUE_KEY')) { exit; } class hook91 extends _HOOK_CLASS_ { public function _test() { return time(); } } в шаблоне phtml пишем
<ips:template parameters="" /> {{$plugins = new \IPS\core\modules\front\system\plugins; $time = $plugins->_test();}} {$time} По факту мы вызвали метод класса $plugins->_test(); который будет выполнен без кеширования.
поправьте если что не так или укажите недостатки
-
WaNted получил реакцию от aplayer в Создание плагина
Можно создать хук класса \IPS\core\modules\front\system\plugins и там статическую функцию, после чего вызывать её в шаблоне \IPS\core\modules\front\plugins::functionName().
Либо подумать как вызвать функцию которая находиться в том же классе что и hookData.
находится*
-
WaNted получил реакцию от aplayer в Создание плагина
Попробуйте так:
'content' => '{expression="time()"}'