Size: a a a

MODX. Русскоязычное сообщество.

2020 September 30

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Логично что скобки надо заменить на урл
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Выруби эту логику
источник

АС

Алексей Смирнов... in MODX. Русскоязычное сообщество.
Евгений
Да. Ссылками типа [[~N]]
отруби все плагины и посмотри результ. только кеш почисти
источник

АС

Алексей Смирнов... in MODX. Русскоязычное сообщество.
Слышал Шорохи
Логично что скобки надо заменить на урл
modx сам меняет [[~33]] в контенте на url. Если оно работает не корреткно, то что-то не так в системе.
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Евгений
Я сам ничего не менял
В режиме редактора кода укажи, тоже будет так же?
источник

Е

Евгений in MODX. Русскоязычное сообщество.
Правда в плагине беда.
Этот код все портит:
        $content = $modx->resource->content;

       $id = $modx->resource->id;

       // Исправляем ошибки кодировки
       $content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8');

       $dom = new DOMDocument;
       // ВАЖНО! Добавляем fakeroot (тег div), так как без него иногда может ломаться верстка. Подробнее: https://stackoverflow.com/questions/39479994/php-domdocument-savehtml-breaks-format .
       $dom->loadHTML('<div>' . $content . '</div>', LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);


       $html = '';
       foreach ($root->childNodes as $childNode) {
           $html .= $dom->saveHTML($childNode);
       }
       $modx->resource->set('content', $html);
Он на событии OnLoadWebDocument.

Что можно сделать? Тут же нет явного htmlencode.
источник

АС

Алексей Смирнов... in MODX. Русскоязычное сообщество.
Что и требовалось доказать
источник

Е

Евгений in MODX. Русскоязычное сообщество.
Алексей Смирнов
Что и требовалось доказать
Я включил отладчик после строки:
$content = $modx->resource->content;

Я посмотрел  содержимое $content. Там уже ссылки битые. Можно ли получить content без преобразования uri в ссылках?
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Да, реплейсом переделать
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Евгений
Я включил отладчик после строки:
$content = $modx->resource->content;

Я посмотрел  содержимое $content. Там уже ссылки битые. Можно ли получить content без преобразования uri в ссылках?
закомментируй строку
$content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8');
источник

АС

Алексей Смирнов... in MODX. Русскоязычное сообщество.
Проще вообще плагин вырубить.
Вопрос в том - зачем этот плагин был поставлен....
источник

АС

Алексей Смирнов... in MODX. Русскоязычное сообщество.
Евгений
Я включил отладчик после строки:
$content = $modx->resource->content;

Я посмотрел  содержимое $content. Там уже ссылки битые. Можно ли получить content без преобразования uri в ссылках?
Тогда реплейсить %5B и %5D
На скобки, притом дописать это в плагине.
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Алексей Смирнов
Проще вообще плагин вырубить.
Вопрос в том - зачем этот плагин был поставлен....
Извращенство😁. Он хтмл код через себя пропускает и всё. Возможно ради обертки в див
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
+ сущности реплейсит в утф
источник

S

Sentinel in MODX. Русскоязычное сообщество.
Ребят, help по php
есть такой код
if($data['provider']['provider'] == 'Mailru') {
  $data['username'] = $data['email'];
  $data['provider']['displayName'] = $data['email'];}
           
if($user->_fields['provider']['provider'] == 'Mailru') {
   $user->_fields['username'] = $user->_fields['email'];
    $user->_fields['provider']['displayName'] = $user->_fields['email'];
}
отрабатывает ок, но мне надо не только для Mailru это сделать но и для других 5-ти провайдеров, как это лучше оформить подскажите?
источник

S

Sentinel in MODX. Русскоязычное сообщество.
или надо для каждого if делать ?
источник

СШ

Слышал Шорохи... in MODX. Русскоязычное сообщество.
Sentinel
или надо для каждого if делать ?
Функция для этого придумана 😉
источник

S

Sentinel in MODX. Русскоязычное сообщество.
Слышал Шорохи
Функция для этого придумана 😉
какая и как ее написать?
источник

S

Sentinel in MODX. Русскоязычное сообщество.
я могу так указать?
if($data['provider']['provider'] == 'Mailru,Yandex,Facebook') {
источник

S

Sentinel in MODX. Русскоязычное сообщество.
или так не прокатит?
источник