Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

edmsl

Актив
  • Регистрация

  • В сети

Everything posted by edmsl

  1. Тогда еще вопрос. Куда писать свои функции на php? С шаблонами, css и js понятно, а с php не доводилось. Не в шаблоне же всю эту портянку расписывать.
  2. В REST api есть эндпоинты для работы с кастомными базами, типа этого: /cms/databases/{id}. Он вернет информацию имя базы, id, поля и т.д. Есть ли внутренний метод для получения того же результата? Сколько ни рылся по коду, не нашел. Пробовал разные ссылки в ajax запросах, но нужной так и не подобрал. ips.getAjax()(ips.getSetting('baseURL') + 'index.php?app=cms&module=databases&controller=records&database_id=2', { type: 'get', } ) В идеале бы получать все в json.
  3. {{foreach $collection as $inputName => $input}} {$input|raw} {{endforeach}} Можно ли как-то инпуту добавить класс в данном случаем? Это блоки кастомных полей из БД. Они все генерируются на основе своего шаблона и как подкинуть для этого свой я не знаю. Сейчас я их скрываю через JS, но это приводит к их миганию, сначала они есть, а потом их нет. Хотелось бы сразу накинуть нужным класс ipsHide.
  4. Снова спасибо. Записал так: {{$records=$recordClass::getItemsWithPermission( array(array( 'field_33=?', $gameId )), $database->field_sort . ' ' . $database->field_direction, 5, 'read' );}} Все работает.
  5. В общем, сделал через foreach, все фильтруется как надо.
  6. Exception Я же правильно понимаю, что фильтрацию по итератору сделать нельзя, только перебор циклом и выводить по условию. {{$records=$recordClass::getItemsWithPermission( array(), $database->field_sort . ' ' . $database->field_direction, NULL, 'read' );}} Здесь в $records будет итератор. Мне нужно выводить только те записи багов, у кого совпадают значения из кастомных полей. Я смотрел функцию getItemsWithPermission, там не передается параметр для фильтрации по полям. array_filter не работает. Только foreach и проверять каждую запись перед выводом в шаблоне?
  7. Отказался от блока и сделал загрузку записей багов из базы напрямую в шаблоне, как здесь Спасибо @Exceptionза подсказку.
  8. Вот это мне и нужно было. Спасибо.
  9. Полагаю, что самый лучший и правильный вариант - это уйти от использования блока и подгружать записи из БД напрямую на странице конкретной сборки. Но, как уже мне писали, без нужных знаний это сложно. Видимо, это надолго.
  10. Вся эта морока была бы сведена к минимуму, если бы в блок можно было передать параметры, как в шаблон. что-то вроде: {block="my_block" params="param1, param2"} но это не работает. 001 тоже нет, ошибка шаблона.
  11. 001 Синтаксис тегов или логика HTML имеет некорректный формат.
  12. На скрине справа есть блок с фильтрами. Как их вывести так же? Для поля в базе я включил по нему фильтрацию, но ничего не появилось. 001 {{foreach $records as $record}} <p>{$record->customFieldDisplayByKey('game_name', 'display').formValue}</p> {{endforeach}} Получаю ошибку шаблона
  13. Страница сборки это страница файла в Downloads. Сейчас для багов используется отдельная тема на форуме для каждой сборки. Что, по сути, то же самое. Проблема в том, что написал один, начали обсуждать. В процессе обсуждения кто-то запостил еще один баг, потом еще и так далее. В итоге потом нужно сидеть и выискивать все записи с багами, что к чему относится и т.д. Это неудобно. Можно сделать так, чтобы на каждый баг создавалась отдельная тема. Это уже ближе и удобнее, но нет той гибкости, что дают БД, в первую очередь фильтры. Да и чисто из спортивного интереса уже хочется доделать начатое. 001 мне не нужно выводить HTML из этого поля. Тип у поля "Связь с базой данных". Там, по сути, хранится id записи, которая была выбрана при заполнении поля при создании новой записи. Если для него выбрать собственно оформление, то нам доступны три переменные: {$label}: {$value}: {$formValue}. Так вот в $formValue находится нужное мне значение.
  14. Zero108 Это простой шаблон базы с несколькими полями, которые ни с чем не связаны. Все надо вписывать вручную. Увы, для моих целей там нет ничего интересного.
  15. Пробовал. Не работает, ничего не выводится.
  16. Путем проб и ошибок установил, что для того, чтобы получить значение кастомного поля у записи из БД с типом Связь с БД, нужно написать так: {{foreach $records as $record}} {{foreach $record->customFieldDisplayByKey('game_name','raw') as $key=> $field}} <p>{$key}</p> {{endforeach}} {{endforeach}} где game_name - Ключ шаблона кастомного поля. А в $key и будет искомое значение. В моем случае это id сборки из БД сборок, для которой нужно получить баги из БД багов. Получается, что тип поля Связь с БД - это массив с одним единственным ключем. Если попытаться вывести $field: <p>{$field}</p>, то будет ошибка шаблона. Но почему тогда не удается получить значение так: {$record->customFieldDisplayByKey('game_name','raw')[0]}
  17. Все бьюсь с кастомными полями. Есть код: {{foreach $record->customFieldsForDisplay('listing') as $key => $field}} <p>1.{$key}</p> <p>2.{$field->label}</p> <p>3.{$field->value}</p> {{endforeach}} Можно ли как-то получить здесь label, formValue и value полей, как это делается при собственном форматировании поля? Или там уже только отформатированный html код и ничего более?
  18. Exception Взял кусок кода из метода и вроде как даже работает: $versionWhere = array( array( "b_fileid=?", \IPS\Request::i()->gamefile ) ); $previousVersions = iterator_to_array( \IPS\Db::i()->select( '*', 'downloads_filebackup', $versionWhere, 'b_backup DESC' )->setKeyField( 'b_id' ) ); Текущая версия: $file->version. Правда не понятно, почему нельзя все это сразу в объекте файла хранить, чтобы не лепить такие вот конструкции.
  19. Увы, но в объекте нет информации о версиях. Есть все другое, но версии даже в шаблон передаются отдельной переменной.
  20. Разобрался. Создал новый шаблон JS и привязал к странице с БД багов. Но это для страницы из Pages. А можно ли что-то подобное для стандартных страниц например для страницы с загрузками или форумов?
  21. Для создания новой записи бага я сделал отдельный шаблон формы и привязал его к БД с багами. В этот шаблон я добавил JS код, который мне нужен. Просто в конце добавил тег <script>. Но это не правильно, что js код в середине страницы. Так вот, как мне сделать так, чтобы этот код отрабатывал только на странице с формой создания записи в БД? Если добавить этот код в шаблон includeJS, он будет отрабатывать везде, что не нужно. Читал, что можно сделать некие контроллеры и добавлять их через атрибут, например, data-controller="core.front.mycontroller". Так вот как создать такой контроллер и привязать его к нужной странице? Или может есть еще способы?
  22. И еще. Есть кастомное поле с типом связи с БД. Вот как мне получить id той записи, которая указана в значении поля? Если применить собственно форматирование к этому полю, то нужное мне значение находится в {$formValue}. Вот его мне и нужно достать в шаблоне. Нужно что-то вроде этого, но именно так не работает: {$record->customFieldDisplayByKey('game_name')->$formValue}
  23. Возможно ли как-то в шаблоне получить информацию о конкретном файле в Downloads? Нужно сделать селектор выбора версии файла при размещении бага. Для этого версии надо брать из файла.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.