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

Exception

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

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

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

    81

Весь контент Exception

  1. я так понял, движок при обновлении добавляет\изменяет только не тронутые тобой шаблоны темы. Если хочешь чистую с правками по версии, то нужно создать новую дефолтную тему. Я тебя умоляю, бахнул пиваса для храбрости или водочки как @SlawkA, сделал бэкап, да как накатил обнову!
  2. А что тут думать? Вышла новая версия - значит обновляйся.
  3. Не нашел рабочего хайда под новую версию ips, пришлось писать самому. Как вам идея хайда под ранг пользователя? Так как ранг пользователя гибок к настройкам, а пользователь сам решает какими путями его получить, думаю это самый топ вариант.
  4. там вроде везде уже отформатированный текст выводит. Я нашел обходной путь, так как в public function indexData() вызывается searchIndexContent(), я просто в IPS\Content в эту функцию запилил \IPS\Text\Parser::removeElements( $content, array( 'div[class=my_spoiler]' ) );
  5. я так понял это делается через public function indexData( \IPS\Content\Searchable $object ) в IPS\Content\Search\Index как правильно захукать код, чтобы добавить в него \IPS\Text\Parser::removeElements( $content, array( 'div[class=my_spoiler]' ) ); ?
  6. Через truncated тоже удаляет только в приложении страниц /** * Removes HTML and optionally truncates content * * @param bool $oneLine If TRUE, will use spaces instead of line breaks. Useful if using a single line display. * @param int|null $length If supplied, and $oneLine is set to TRUE, the returned content will be truncated to this length * @return string * @note For now we are removing all HTML. If we decide to change this to remove specific tags in future, we can use \IPS\Text\Parser::removeElements( $this->content() ) */ static public function truncate( $content, $oneLine=false, $length=500 ) { $content = static::removeElements( $content, array( 'div[class=my_spoiler]' ) ); return parent::truncate( $content, $oneLine, $length ); } у меня уже мозг плавится, не понимаю как удалить в профиле и т.д.
  7. Так у тебя в body грузятся данные которые должны быть в head
  8. /** * Remove specific elements, useful for cleaning up content for display or truncating * * @param string $value The value to parse * @param array|string $elements Element to remove, or array of elements to remove. Can be in format "element[attribute=value]" * @return string */ public static function removeElements( $value, $elements=array( 'blockquote', 'img', 'a' ) ) { array_push($elements, 'div[class=my_spoiler]'); return parent::removeElements( $value, $elements ); } я попробовал добавить элемент глобально, он удаляет его в приложении страниц (главная страница со списком статей), но не удаляет в профиле, страниц с результатами поиска и т.д.
  9. в файлах версии 4.6.2 вижу изменения которые я предлагал выше 🙂 Думаю проблема решена
  10. Есть у кого обновленная 1.0.4 версия?
  11. 4.6 возможно еще не полностью поддерживает php 8, об этом говорят их постоянные фиксы кода для php 8 + на php 7.4 работает все как надо
  12. в таком случае можно поднять собственный CDN сервер,
  13. что-то у меня локальный сервер развалился, контент не обновлялся и хук не срабатывал, а так все работает правильно.
  14. тогда какой он удаляет то, что находится в ipsSpoiler ?
  15. какая функция удаляет например ipsSpoiler из контента на страницах профиля, поиска и т.д.? Либо я туплю, но функция public static function removeElements в IPS\Text\Parser ничего не удаляет
  16. самый оптимальный вариант как я понял, это сделать все на англ или рус, и вместе с плагином распространять ланг файл с переводом на нужный язык
  17. я пока смотрел нашел много вариантов, но это такое себе на самом деле, потому что средствами ips такого не сделать, например в js можно подтягивать разные ключи или собственные фразы в зависимости от например var language = $('html').attr('lang'); или при помощи php сделать собственную систему, но это будет зря потраченное время
  18. лол, я так понял достаточно добавить строку в jslang.php, после вызвать её через ips.getString и только после выгрузки и последующей установки плагина можно перевести эту строку в языках. Просто в dev режиме её нельзя перевести (ключа нету) это и вызвало мой затуп
  19. Как правильно инициализировать кастомную языковую строку (Англ+Рус) в js? У меня есть допустим кастомная строка добавленная в язык ручным способом через Языки, и есть переводимое текстовое поле в плагине. Например так я не могу сделать, js не подхватывает строку: ips.templates.set('core.editor.ultrahide', "\ {{#lang}}editor_mycustomlangkey{{/lang}}\ "); или я пытаюсь вывести строку через ips.getSetting('editor_mycustomlangkey') заранее добавив хук в диспетчер \IPS\Output::i()->jsVars но так выводится строка с двумя переводами через запятую, т.е. это явно не подходит. ips.getString('editor_mycustomlangkey') так-же не подхватывает языковые строки
  20. https://invisioncommunity.com/developers/docs/development/plugins/code-hooks-r42/
  21. У меня после исправления и дополнительного перерасчета контента все работает как надо. С значками проблем не было, выдаются в зависимости от условий. Ранг пересчитывается моментально при добавлении контента (увеличение очков). Видимо проблема у вас индивидуальная.
  22. {{$record_id = 1; $db_id = 1; $db_class = '\IPS\cms\Records'.$db_id;}} {{$record_loaded = $db_class::load($record_id);}} {$record_loaded->customFieldDisplayByKey('base_conn', 'display')|raw} $record_id - id записи из нужной базы, откуда будет брать данные $db_id - id базы данных код на работоспособность не проверял
  23. Вроде нашел где ошибка, можно не делать действий которые выше, а делаем так: Идем по адресу: мойсайт\applications\forums\sources\Topic открываем файл ArchivedPost.php ищем строку 126: return \IPS\Db::i()->select( 'COUNT(*)', 'forums_posts', $where )->first(); изменяем forums_posts на forums_archive_posts сохраняем. Пробуем пересчитать контент
  24. Если нету форумного архива с постами пользователей, можно временно выключить перерасчет постов из архива мойсайт\system\Member\ открываем файл Member.php ищем строку 3809: public function recountContent() чуть ниже ищем строку 3812: foreach ( \IPS\Content::routedClasses( $this, TRUE, FALSE ) as $class ) изменяем с TRUE на FALSE сохраняем Пробуем пересчитать контент это как временное решение, позже посмотрю в чем заключается ошибка если это прям кому то очень нужно
  25. ошибка гуглится, что-то с настройками бд возможно. Там какой-то баг-фикс вышел 10 числа Released 06/10/2021 Блен вот не могут они даже нормально релиз упаковать без таких фиксов
×
×
  • Создать...