Viktor

Viktor

С нами с 04 июля 2015; Место в рейтинге пользователей: #118

Polylang

Компонент позволяет создавать мультиязычные сайты без дополнительных контекстов.

Возможности
  • Локализация полей документов Modx
  • Локализация Tv
  • Локализация полей miniShop2 (добавленных через msFieldsManager)
  • Локализация опций miniShop2
  • Изменения типа ввода данных для полей
  • Изменения порядка вывода полей в админке
  • Изменение порядка вывода языков на сайте
  • Автоматический перевод поля или группы полей локализации через google translate или yandex translate
  • Задание полей, для которых следует использовать автоматический перевод
  • Автоматическое создание локализаций для документа с автоматическим переводом полей
  • Индексация полей локализаций в mSearch2
  • Авто определение языковой версии сайта при первом его посещении
  • URL с слэшем на конце и без
Prihod
09 июля 2020, 14:18
modx.pro
4
7 116
+24

Выдаем вместо кэша 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 409
+16

AnotherPages. Виртуальные страницы для СЕОшников и не только.

Компонент позволяет создавать неограниченное количество «виртуальных копий» ресурса, не создавая дубль самого ресурса. Бесплатно.


Алексей Шумаев
07 ноября 2019, 16:38
modx.pro
11
2 296
+21

Скрипт подмены конфигов сайта на лету

Надоело каждый раз при переносе сайтов между серверами прописывать конфиги в нескольких местах. Каждый раз напрягаешься, чтобы не перепутать. Написал скрипт, который делает это автоматически в зависимости от $_SERVER['HTTP_HOST'] сервера на котором он запускается.
Николай
25 октября 2019, 10:17
modx.pro
14
2 039
+13

GoogleSheets. Компонент для работы с Google таблицами.

Возможности
  • Cохранение форм
  • Cохранение заказов (minishop2)
  • Импорт ресурсов / товаров (minishop2)
  • Выгрузка данных из таблицы
Aleksandr Huz
30 октября 2018, 23:04
modx.pro
4
3 924
+11

Localizator - поддержка TV параметров

1. Изменены окна редактирования локализаций, добавлена возможность редактирования TV-параметров

Для вывода на редактирование определенных TV-параметров добавлена настройка локализатора localizator_tv_fields

2. Сделан сниппет Localizator
{'Localizator' | snippet : [
    'snippet' => 'pdoMenu',
    'includeTVs' => 'img',
    'processTVs' => 'img',
    'parents' => 0,
    'level' => 1,
]}
TV-параметры будут заменяться на параметры из локализации.
Для этого нужно изменить настройку pdoFetch.class на pdotools.pdofetchlocalizator


Компонент по прежнему бесплатный и доступен на modstore.pro

Исходники на https://github.com/but1head/localizator

Отправить спасибо можете на Яндекс-кошелек 410015133943061
Артем
23 октября 2018, 18:51
modx.pro
13
8 679
+18

[ogImage] — генерация превью с текстом


Нужно красивое превью страницы в соцсетях?
DocentBF
19 июня 2018, 17:53
modx.pro
11
4 014
+10

Про новый сайт сообщества

Привет, друзья!

У меня есть отличная новость: разработку нового сообщества теперь спонсируют ребята из нидерландской компании Sterc, в которой я сейчас работаю над MODX 3. Вот такое совпадение, да.

Через это, исходники новой версии сообщества уже доступны на обозрение всем желающим. Темпы разработки не меняются, я так же буду выкладывать отчёты 2 раза в месяц. Но донатить на Patreon больше нет никакой необходимости, только если вам прям сильно хочется. Ну и заметки там теперь тоже открыты, может будет интересно.

По нашей договорённости, Sterc теперь размещает парочку баннеров на сайте — и это баннеры про финансирование MODX 3. Как видите, всё взаимосвязано.
Василий Наумкин
07 апреля 2018, 08:42
modx.pro
1
3 022
+17

Автоматически разбивать sitemap.xml на файлы

Всем привет!
У меня сайте сейчас 15000 страниц, sitemap.xml формирую через pdoSitemap. Но сервер не позволяет вывести такое количество ссылок сразу, менять сервер на более мощный пока тоже не хочу.

Может есть решение автоматического разбиения sitemap.xml в формате www.sitemaps.org/ru/protocol.html#index на определенное задаваемое количество выводимых ссылок в каждом файле?
Александр
13 ноября 2016, 16:31
modx.pro
6
4 128
+1

Сборка transport-пакета без установки MODX



Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :).

Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самого MODX. Уровень выше среднего, так что возможно придется поломать голову в отдельных случаях, но оно того стоит.

За подробностями прошу под кат.

Іван Клімчук
08 октября 2015, 22:53
modx.pro
21
7 993
+11