Александр Янк

Александр Янк

С нами с 01 августа 2014; Место в рейтинге пользователей: #164

Отчего не сохранятся страница на новом сайте, в консоле ошибка Unexpected token '.'?

Установил новый сайт, версия движка MODX 2.8.3
Любая страница не сохраняется, смотрю в консоль:
Uncaught SyntaxError: Unexpected token '.'
    at doDecode (ext-all.js:21)
    at Object.decode (ext-all.js:21)
    at Ext.form.Action.Submit.handleResponse (utilities.js:340)
    at Ext.form.Action.Submit.processResponse (ext-all.js:21)
    at Ext.form.Action.Submit.success (ext-all.js:21)
    at o (ext-all.js:21)
    at Ext.data.Connection.s (ext-all.js:21)
    at HTMLIFrameElement.I (ext-all.js:21)
версия PHP 7.4. Сайт без плагинов. Пробовал на тестовом сайте modhost.pro новый сайт создал, такая же проблема, менял везде версию php, без результата.

И это новый сайт, ни одного лишнего кода не написано, получается, что начать пользоваться модексом без танцев с бубном не получится?

Подскажите, в чем может быть дело?

Никак не могу понять, почему

s27048.h2.modhost.pro/manager/
s27048
TEpAwDG8DUj9
Александр Янк
16 августа 2021, 19:51
modx.pro
1
458
0

Завершение работы с MODX

Не знаю, заметили вы или нет, но из обещанного на 2020 год я так ничего и не сделал. Пытался, садился что-то делать много раз.
Больше чем на половину даже сделал новый modx.pro на Vue, но и там вдохновение закончилось как только понял, что сам им пользоваться уже не буду. Больше не прёт, увы.

Думаю что всё, что я мог сделать для MODX, уже сделал. Соответственно, пора перестать страдать фигней и просто уйти.

Поэтому в течение 2х месяцев, до 2021 года, нам нужно разобраться с кое-какими вопросами.
Василий Наумкин
05 ноября 2020, 13:22
modx.pro
4
3 582
+58

Минификсация html кода в 1 строку

Доброго! размещаю инструкцию чтобы не потерять, ну и просто если кому понадобится, все же вещь полезная. Позволяет перевести весь код страницы в неудобный для копирования html код.
+ удаляет комментарии <!- ->, пробелы, табуляцию. Это частично отбивает желание копировать ваш сайт, ускоряет немного загрузку. Данное сжатие можно включать и отключать tv полем.

Не ругайтесь если что-то подобное уже лежит на modx.pro, я доработал код и теперь все работает так как мне нужно. Можно было бы добавить данную функцию в компонент minifyx
Сергей
10 сентября 2020, 15:03
modx.pro
6
2 152
+3

Выдаем вместо кэша html файлик

Предыстория. Возник такой вопрос. Есть какой то сайт, и в нем получается в каталоге было так. В вызов mFilter2 вложено в чанк еще парочка вызовов msProducts ну и так далее. В итоге, раздел грузился за овер 10 секунд. Да, сейчас напишите, что вот надо оптимизировать. Это понятно, но я решил подойти с другой стороны.
Итак, идея была такая, что бы вместо кэша выдавать уже готовую разметку целой страницы.
В итоге, у нас есть плагин:
<?php
switch($modx->event->name){
    case 'OnWebPagePrerender':
        // Тут просто условие, чтобы срабатывал только на категории (можно по сути задавать разные условия)
        if($modx->resource->class_key != 'msCategory'){
            return;
        }
        //Забираю отрендеренный ресурс
        $_output = &$modx->resource->_output; //Забираю отрендеренный ресурс
        // Создаю файлик разметки этого ресурса (можно по сути указать любой путь и так далее, сейчас и так сойдет)
        $file = MODX_BASE_PATH . 'resourcecache/' . $modx->resource->uri . '/' . $modx->resource->id . '.txt';
        if(is_file($file)){
            // Если такой файлик уже существует, то просто отдаю его содержимое
            $output = file_get_contents($file);
        }else{
            // Если файлика нету, то записываю туда отрендеренную страницу
            $cache = $modx->getCacheManager();
            $cache->writeFile($file, $_output);
            $output = $_output;
        }
        
        // Подменяю вывод на готовый
        $modx->resource->_output = $output;
        
        break;
        
    case 'OnLoadWebPageCache':
        // Это событие срабатывает до рендера страницы, оно проверяет, есть ли кэш страницы, и если он есть...
        $file = MODX_BASE_PATH . 'resourcecache/' . $modx->event->params['resource']->uri . '/' . $modx->event->params['resource']->id . '.txt';
        
        //...мы проверяем файлик, так как страница уже грузилась и файлик есть и подменяем кэш на содержимое неашего файлика.
        if(is_file){
            $modx->event->params['resource']->_content = file_get_contents($file);
        }
        
        break;
}
Итог, раздел грузился за 10 секунд (ну да, такой раздел, идея в другом), после плагина уже за 0.006 секунды, так как выдается готовая разметка.
Вопрос знатокам, на сколько такой подход вообще жизнеспособный по отношению к системе? Очень бы хотелось услышать комментарии.

Спасибо за донаты:
@Павел Бигель
Михаил
20 февраля 2020, 10:55
modx.pro
11
1 283
+16

Шпаргалка на все случаи жизни

Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
Михаил
07 февраля 2020, 21:42
modx.pro
70
2 139
+35

Обновление App

С некоторых пор я плотно переехал на Webpack, так что решил обновить и свою заготовку для создания сайтов App.

Точкой входа во frontend приложение служит _build/assets/js/index.js, там вот такой код:
import 'jquery'
import 'bootstrap'
import '../scss/index.scss'

console.log('App is loaded!');
Василий Наумкин
21 мая 2019, 13:12
modx.pro
20
3 480
+29

[Решено] Как подцепить редактор Ace к полю во всплывающем окне MIGX?

Как добавить Ace к обычным полям ресурса типа introtext, description, или TV-полям, я знаю. Но возникла необходимость сделать это для textarea-полей во всплывающем окне MIGX. Ситуация осложняется тем, что код окна подгружается аяксом… Кто-нибудь знает как это можно сделать, хотя бы примерно?

Николай
03 марта 2019, 01:24
modx.pro
17
2 694
+6

Борьба с парсерами и ботами - antiBot


Первый случай
Примерно год назад повадился на сайт парсер который шерстил сайт с разных IP адресов и c разными user agent, воровал информацию.
Сайт по содержанию имел около 10 миллионов страниц и ежедневно обновлялся по 10к страниц в день. Видел его даже в статистике сайта на метрике. Но все не мог придумать как его заблокировать.
Пробовал использовать компонент siteStatistics с костамизаций так чтобы можно было блочить его по IP адресам.
Худо бедно кое как избавился от этого парсера.

Второй случай
Две недели назад, какой то экспериментатор устроил мне атаку на форму регистрации пользователей, и как давай регистрировать по 2-3 пользователей в секунду. Пришлось закрыть сайт на некоторое время чтобы остановить регистрацию и выяснить как от него избавится. В итоге пару кастылей для формы регистрации еще пришлось написать. Но товарища я так и не успел вычислить так как компонент siteStatistics был отключен, и я честно говоря уже даже забыл как им пользоваться.
Кстати в логах сайта шарится не стал, так как понимал все ровно может повторится не на этом сервер так на другом, пришел один прийдет и второй

UPD: цена снижена с 1490 руб до 590 руб, чтобы можно было купить сразу для нескольких сайтов
Андрей Степаненко
26 февраля 2019, 19:19
modx.pro
8
9 412
+14

Хватить это терпеть! Или зачем столько чанков в FormIt!?

Привет сообществу!

Небольшая хитрость которая поможет новичкам избавиться от множества чанков/файлов писем с сайта и реализовать их в одном чанке/файле. Кроме этого пару слов о том, что происходит с MODX в конце заметки.

Предисловие:

Пару месяцев назад в чате был небольшой джентльменский спор между Павлом Зарубином и Евгением на тему «Так ли хорош FormIt?». В этом споре, я разместился где-то посередине так как я вижу и плюсы и минусы данного компонента. Эта заметка об одном из минусов, ну и конечно же решение.

Баха Волков
11 февраля 2019, 14:56
modx.pro
31
4 576
+24

Indexbot - Показ информации определенному боту

Думаю полезно будет для СЕОшников, которые постоянно хотят показывать информацию только избранным ботам.
Озадачил меня один сеошник и его товаришь А.
Нам нужно показывать этот PLACEHOLDER или TV только гугл боту, а другой TV яндекс боту
Собственно написал небольшой сниппет, может кому пригодится

Примеры вызова
[[*pagetitle:indexbot=`googlebot`]]

или
[[indexbot? &input=`Заголовок <b>[[*pagetitle]]</b> виден только для <b>googlebot</b>` &options=`googlebot` &debug=`1`]]

Название сниппета:indexbot
vectorserver
12 декабря 2018, 23:25
modx.pro
7
1 212
+4