Everything posted by edmsl
-
Реализация кода блока ленты базы данных
Разобрался. Создал новый шаблон JS и привязал к странице с БД багов. Но это для страницы из Pages. А можно ли что-то подобное для стандартных страниц например для страницы с загрузками или форумов?
-
Реализация кода блока ленты базы данных
Для создания новой записи бага я сделал отдельный шаблон формы и привязал его к БД с багами. В этот шаблон я добавил JS код, который мне нужен. Просто в конце добавил тег <script>. Но это не правильно, что js код в середине страницы. Так вот, как мне сделать так, чтобы этот код отрабатывал только на странице с формой создания записи в БД? Если добавить этот код в шаблон includeJS, он будет отрабатывать везде, что не нужно. Читал, что можно сделать некие контроллеры и добавлять их через атрибут, например, data-controller="core.front.mycontroller". Так вот как создать такой контроллер и привязать его к нужной странице? Или может есть еще способы?
-
Реализация кода блока ленты базы данных
И еще. Есть кастомное поле с типом связи с БД. Вот как мне получить id той записи, которая указана в значении поля? Если применить собственно форматирование к этому полю, то нужное мне значение находится в {$formValue}. Вот его мне и нужно достать в шаблоне. Нужно что-то вроде этого, но именно так не работает: {$record->customFieldDisplayByKey('game_name')->$formValue}
-
Реализация кода блока ленты базы данных
Возможно ли как-то в шаблоне получить информацию о конкретном файле в Downloads? Нужно сделать селектор выбора версии файла при размещении бага. Для этого версии надо брать из файла.
-
Реализация кода блока ленты базы данных
И можно ли как-то получить категорию, в которую загружен файл, который для файла из Downloads? Что-то типа $file->category.
-
Реализация кода блока ленты базы данных
Есть блок {block="block_id"} Шаблон для него я сделал и прописал переменные так: Переменные: $records, $title, $orientation='vertical', $some=0 Возможно ли как-то передать параметр $some в кастомный блок? {block="block_id" params="123"} не работает.
-
Реализация кода блока ленты базы данных
Можно ли в шаблоне получить строку ссылки? Или параметры, передаваемые по ссылке? Суть в чем. Баги это своя база, а сборки - своя. Как я говорил, связывать вручную неудобно. Надо подставлять значение в поле сразу, на основе id сборки. Например, есть ссылка https://site.ru/bugs.html/?do=form&d=6&game=4, где game=4 - это id сборки в базе. Вот есть ли возможность получить этот id в шаблоне?
-
Delete My Account
Тоже рассматривал замену этого плагина встроенным функционалом. Но остался на плагине. Настройки шире, плюс можно все делать прямо на сайте, без админки. У меня 4.7.9. Там все норм.
-
Реализация кода блока ленты базы данных
Exception Можно. Но все же знают, как это описание читают пользователи. Когда у нас на сайте были проблемы с регистрацией через почту Гугла, я большими буквами в отдельном блоке на странице регистрации написал,что пожалуйста, не регайтесь с помощью гугл почты. Но все равно находились те, кто шел против системы, и их было достаточно много, 2-3 на 10 человек. Так что нет, добавить описание это не выход, нужен только очевидный выбор.
-
Реализация кода блока ленты базы данных
andros0789 Проблема не в том, что данные не выводятся, а в том, что при создании записи поле связи с БД это просто текстовое поле и то, как его правильно заполнять, для рядового пользователя совершенно неочевидно.
-
Реализация кода блока ленты базы данных
В общем, вся эта идея со связью баз хороша, но реализация этой связи не удобна. Пользователю придется начать набирать текст названия сборки в текстовое поле, чтобы подходящий вариант появился в списке и его можно было бы выбрать. Причем само поле связи с БД - это просто текстовое поле, в которое вообще не понятно, что надо вводить. Так что нет, не катит, надо, чтобы было что-то вроде выпадающего списка. Как вариант, можно сделать это поле невидимым, а значение подставлять через JS, взяв нужный ID сборки из ссылки например. Но это все дикие костыли, конечно. И не ясно, куда прописать JS код. Хотя JS код можно попробовать впихнуть в шаблон формы создания записи, создав новый. Надо попробовать.
-
Реализация кода блока ленты базы данных
AHristich Хм. Кстати да, об этом я как-то не подумал. Надо попробовать.
-
Реализация кода блока ленты базы данных
AHristich Да, я понял. пробовал это, но привязывать можно только конкретные записи (баги), а не всю категорию. А так да, было бы идеально.
-
Реализация кода блока ленты базы данных
Так уже создал базу данных с багами. Категории БД это сборки, к которым относятся баги, а записи - сами баги.
-
Реализация кода блока ленты базы данных
Где найти информацию по этим классам и методам? Я даже на офф. сайте не могу найти.
-
Реализация кода блока ленты базы данных
Exception Да, без знаний PHP это будет сложно. Что ж, спасибо. Попробую пока через блоки. Если не получу вменяемого результата, то придется копать глубже.
-
Реализация кода блока ленты базы данных
Пожалуй, вопрос можно упростить. Как получить записи $records из базы данных Pages в шаблоне темы?
-
Не работает хук для кастомного шаблона
Если я правильно все понимаю, то имеется ввиду перенос в хуки какого-то нового, созданного мной, плагина всех тех изменений, что я сделал в теме путем создания новых файлов шаблонов? Т.е. я удаляю все те новые шаблоны, а их код реализую через плагин?
-
Реализация кода блока ленты базы данных
Собственно, можно ли как-то реализовать функционал блока (те, что из Pages) без использования этих самых блоков? Суть в чем. Я хочу реализовать баг-трекер. Есть сборки по играм и для каждой нужен свой баг-трекер. Первым делом решил воспользоваться плагином Downloads Plus. Он встраивает вкладку баг-трекера для каждого файла. Но на 4,7,9 он ожидаемо не работает. Поэтому создал новую базу даннных, создал для каждой сборки категорию, и туда записываю баги. От тем на форуме отказался, так как не удобно и не так гибко. Для каждой сборки на ее странице нужно отображать свои баги. Для этого сделал блок для нужной категории и вставил в код шаблона. И здесь главное неудобство. Надо для каждой игры-сборки создавать свой блок. А если их 10, то уже десять блоков. А если нужно еще фильтр? На каждый фильтр еще по блоку. Так же, если записей нет, то блок не отображается, даже если после условия {{if !empty( $records ) }} добавить {{else}} c кодом. А хотелось бы об этом явно указать. Поэтому нужно создать шаблон, который бы доставал данные из базы и выводил их, но без использования блоков. Я думал вставить код шаблона блоков без использования этих самых блоков, но как передать туда записи из БД я не знаю. Надеюсь, вы меня поняли. Может кто-то уже пытался нечто подобное реализовать? Вот что пытаюсь реализовать.
-
Не работает хук для кастомного шаблона
SlawkA Да, точно.
-
Не работает хук для кастомного шаблона
Кто-то писал, что при обновлении ips будет предложено выбрать, какой код добавить в шаблон, текущий или новый. Или это не то? Тогда придется для все плагины изменять, которые связаны с измененными шаблонами. На самом деле мне больше нравится идея создания отдельных шаблонов для изменений, но вот эти вот проблемы с плагинами удручают.
-
Не работает хук для кастомного шаблона
Exception Спасибо. Да, так и есть. class_core_front_global. Вообще, вся эта затея с заменой шаблонов мне уже не нравится. Мало того, что плагины после этого не работают, так еще и стандартные фишки, типа цвета имени пользователя в постконтейнере (его я тоже изменил и заменил шаблон), тоже не работают. Как говорится, из двух зол выбираем меньшее. Придется править оригинальные шаблоны.
-
Не работает хук для кастомного шаблона
Приветствую. Решил изменить шапку сайта. Как рекомендуют на офф. сайте invision, сделал свой шаблон (header) в отдельном файле-шаблоне и заменил им оригинал. В globalTemplate заменил это: <div id='ipsLayout_header' class='ipsClearfix'> <header> <div class='ipsLayout_container'> {template="logo" app="core" group="global" params=""} {{if !\in_array('ipsLayout_minimal', \IPS\Output::i()->bodyClasses )}} {template="userBar" app="core" group="global" params=""} {template="mobileNavigationIcon" app="core" group="global" params=""} {{endif}} </div> </header> {template="navBar" app="core" group="global" params=""} {{if !\in_array('ipsLayout_minimal', \IPS\Output::i()->bodyClasses )}}{template="mobileNavBar" app="core" group="global" params=""}{{endif}} </div> на это: {template="header" app="core" location="front" group="_myheader" params=""} У меня стоит плагин Clear Notifications, который добавляет кнопку очистки уведомлений в юзербар в шапке. Это скрин из стандартной темы. Хук у плагина простой: /* !Hook Data - DO NOT REMOVE */ public static function hookData() { return array_merge_recursive( array ( 'userBar' => array ( 0 => array ( 'selector' => '#elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center', 'type' => 'add_inside_end', 'content' => '{template="clearNotificationsLink" app="core" group="plugins" location="global"}', ), ), ), parent::hookData() ); } /* End Hook Data */ Но шаблон userBar у меня тоже свой, в отдельном файле (_userBar), т.к. я добавил туда одну кнопку, но див по селектору #elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center присутствует. И хук не добавляет кнопку. Вопрос: можно ли добавить кнопку очистки в кастомный шаблон через хук , а не через правку шаблона _userBar, напрямую прописав туда код шаблона кнопки из плагина? '_userBar' => array ( 0 => array ( 'selector' => '#elFullNotifications_menu > div.ipsMenu_footerBar.ipsType_center', 'type' => 'add_inside_end', 'content' => '{template="clearNotificationsLink" app="core" group="plugins" location="global"}', ), ), так не работает.
- [[Template core/admin/global/globalTemplate is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]
-
Кнопки в редакторе
Разобрался. Изменения в config.js работают, но для этого надо очистить кэш браузера. Вот и весь секрет. В Гугл Хром достаточно обновить страницу с помощью Ctrl + F5, а вот в Firefox почему-то не прокатывает, только через настройки очищать.