Всего 104 496 комментариев

Евгений
10 сентября 2020, 21:34
0
Смотрел, там только дубликаты ресурсов. Больше ничего не было, нашёл в интернете способ поставить register_globals Off, но увы это не помогло. В чём может быть проблема?
Андрей
10 сентября 2020, 21:25
0
500 надо смотреть в серверном error.log, там должна быть указана ошибка.
Рушан
10 сентября 2020, 21:24
0
На фронтенде кнопка.
Александр Мельник
10 сентября 2020, 21:14
0
зачем вы беретесь за сайт на php если в нем вообще ноль.
Где находится ваша кнопка, нажатие на которую снимает с публикации ресурс?
В админке? На фронтенде?
Примерно порядок действий такой.
У вас есть форма html у которой есть кнопка и скрытое поле в котором лежит идентификатор ресурса. Вам нужно обработать отправку этой формы (или просто указав в атрибуте формы action путь к файлу php или же на js отловить событие отправки формы, получить с нее данные и отправить ajax запрос на файл php)
Далее в этом файле php вы должны через основной объект $modx получить ресурс с тем идентификатором, что предан из формы, установить значение его свойства published в 0 и сохранить.
Примерно так
$res = $modx->getObject('modResource',$id);
$res->set('published',0);
$res->save();
Павел Гвоздь
10 сентября 2020, 20:11
+1
1) 2.7Мб первое изображение, да ещё и не под катом?! joxi.ru/a2X5gn6hDRqekA Нужно сжимать, хотя бы из уважения к сообществу.

2) Скройте код по кат.
Евгений
10 сентября 2020, 19:38
0
От части помогло, сам не заметил. Теперь 500я от ajaxform/action.php
Рушан
10 сентября 2020, 18:55
0
Прошу прощения за тупизм я в php вообще ноль. Я только вникаю во всё это. Прошу не ругать сильно.
Прошу помочь в обучении в данной задаче.
Как подключить снипет к кнопке, что бы реагировал на клик?
Костромин Игорь
10 сентября 2020, 18:37
0
$resource->set('published',0);
Николай Савин
10 сентября 2020, 18:17
0
Измените раздел на вопросы
По существу — у вас поди head или body не закрыт
Руслан Алеев
10 сентября 2020, 17:46
+2
А зачем вам TV?
Можно просто плагином на событие OnWebPagePrerender:
<?php
// Проверяем событие OnWebPagePrerender и тип содержимого, для HTML == 1
if ($modx->event->name == 'OnWebPagePrerender' && $modx->resource->content_type == 1) {
    $output = &$modx->resource->_output;
    $output = preg_replace('|\s+|', ' ', $output);
}
R2m0x94 (Vasily)
10 сентября 2020, 16:55
0
Не, такой способ не прокатит, так как вырезает не то что надо. Как вариант можно использовать в разработке свои модификаторы. В целом минификация HTML всегда необходима, как целой стр., так и кусочка стр.
Андрей
10 сентября 2020, 15:45
0
В настройках pdoTools можно в параметре pdotools_fenom_options указать {«strip»:true}
Alexey Medvedev
10 сентября 2020, 15:21
+1
Думаю, что лучше вынести параметр «Сжатие HTML» в настройки сайта, чем делать через ТВ-значение. Но каждый сам изобретает свой велосипед ;)
Сергей
10 сентября 2020, 15:13
0
Ну приехали)) я его не видел, хотя искал долго и нудно, ничего толком не нашел. Этот компонент не отключает закомментированный код из коробки. В любом случае мой вариант более гибок, можно отключить если что.
Alexey Medvedev
10 сентября 2020, 15:11
+2
Для этого уже есть готовый компонент: MinifyHTML
R2m0x94 (Vasily)
09 сентября 2020, 17:27
+1
Мне понравилось лёгкость использования. Например если редактируемый кусок html очень длинный в разработке и надо на выходе в браузер уже отдать сдутый html, как вариант использовать блочный модификатор {deflate}{/deflate}, что даёт легкость в читаемости кода и облегчает прогруз на фронтенде.
$fenom->addBlockFunction('deflate', function (array $params, $content) use ($modx) {
    $filters = [
      '/<!--([\s\S]*?)-->/'                                               => '', // Remove HTML Comments (breaks with HTML5 Boilerplate)
      '/(?<!\S)\/\/\s*[^\r\n]*/'                                          => '', // Remove comments in the form /* */
      '/\>[^\S ]+/s'                                                      => '>',
      '/[^\S ]+\</s'                                                      => '<',
      '/([\t ])+/s'                                                       => ' ',
      '/^([\t ])+/m'                                                      => '',
      '/([\t ])+$/m'                                                      => '',
      '~//[a-zA-Z0-9 ]+$~m'                                               => '',
      '/[\r\n]+([\t ]?[\r\n]+)+/s'                                        => "\n",
      '/\>[\r\n\t ]+\</s'                                                 => '><',
      '/}[\r\n\t ]+/s'                                                    => '}',
      '/}[\r\n\t ]+,[\r\n\t ]+/s'                                         => '},',
      '/\)[\r\n\t ]?{[\r\n\t ]+/s'                                        => '){',
      '/,[\r\n\t ]?{[\r\n\t ]+/s'                                         => ',{',
      '/\),[\r\n\t ]+/s'                                                  => '),',
      '/<!--(.*)-->/isU'                                                  => '',
      '/\r/'                                                              => '', 
      '/\n/'                                                              => '', 
      '/\>\s+/'                                                           => '>', 
      '~([\r\n\t ])?([a-zA-Z0-9]+)=\"([a-zA-Z0-9_\\-]+)\"([\r\n\t ])?~s'  => '$1$2=$3$4', 
    ];
    $content = preg_replace(array_keys($filters), array_values($filters), $content);
    return $content;
});
Denis
09 сентября 2020, 16:13
0
youtu.be/txWYm8t6saw
Видео с демонстрацией
Код ядра modx никак не редактировался
только другие плагины (весь список виден в видео, фуллдефолт, использую на всех сайтах)