Anton

Anton

С нами с 26 мая 2013; Место в рейтинге пользователей: #232

[СДЕЛАЙ САМ] Login + HybridAuth + АjaxForm

Всем привет, пишу это прежде всего для себя, чтобы не забыть что и как я делал. Прежде всего нам понадобится установить AjaxForm, FormIt, Login и HybridAuth. Тем кто никогда не настраивал регистрацию и авторизацию через Login обязательно прочитать серию статей на эту тему здесь itchief.ru/modx/login-registration. Если дополнения стоят и общий механизм понятен можно продолжать.
Насколько я понял HybridAuth после получения разрешений от пользователя отправляет его на адрес указанный в callback_uri, но проблема в том, что это может быть только Главная страница, поэтому я внёс небольшие изменения в файл core/components/hybridauth/model/hybridauth/hybridauth.class.php, для того чтобы можно бы указывать любую страницу сайта для редиректа.
Артур Шевченко
25 ноября 2020, 23:41
modx.pro
3
3 258
+1

Платные дополнения Sterc уходят в Open Source

Получил на почту анонс с просьбой перевести и разместить у нас тут.

Вот, размещаю, и перевожу как могу. Для начала оригинал:
On August 1st, 2020 all premium MODX Extras created by ​Sterc​ will be free. We have
decided to stop with paid MODX plugins so we can focus on our core-business. This is of
course creating awesome websites and web applications based on MODX and especially
MODX3.

This decision will offer other developers in the MODX community to improve our extras even
faster, as you are used to with our free extras. This also means that we may hire (remote)
MODX developers to work on these extras or ​MODX3​ itself, because we highly value those
two things and we feel they should continue to be improved. Open source doesn’t mean all
work has to be done free of charge. Where some people can offer development resources
by offering their talents and time, other people can fund them. Let’s speed up innovation
together!
Василий Наумкин
29 мая 2020, 15:56
modx.pro
5
2 201
+27

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

TVTable 3.4.0

Привет всем!

Для того чтобы администрация форума не ругалась:
«Сегодня дорогие мои, не будет никаких сантиментов и смайликов. Только жесткач и технические данные в чистом виде! Кому нравится словоблудие и рукофлудие, свободен. Никого не держу. Досвидульки и ...»
Баха Волков
07 июня 2019, 18:35
modx.pro
7
2 700
+21

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

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

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

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

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

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

[MIGX] - Большой и страшный. Multiple Formtabs. Как сделать слайдер с разными типами слайдов.

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

В данной заметке вы узнаете, что такое Multiple Formtabs и как создать конфигурацию с разным набором данных. Ну и конечно же создадим с вами слайдер у которого будут разные типы слайдов, а в конце вас ждёт очень интересная история которую я долго не решался кому либо рассказать (если конечно вам интересно, но история интересная — поверьте). И так, примеры слайдов:

  • Изображение на фоне
  • Видео на фоне
  • Сплошной цвет на фоне
Внимание! В этот раз не надо убирать от экранов детей и беременных женщин, ведь это какая-та дискриминация по возрастному и половому признакам!

Баха Волков
11 октября 2018, 07:46
modx.pro
37
8 256
+27

[MIGX] - Большой и страшный. Знакомство.

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

Представляю цикл уроков (да, это будет цикл уроков, потому как мало кому нравиться читать большие тексты) про компонент MIGX.

Внимание! Уберите от экранов детей, беременных женщин и разработчиков средней руки. Вам тут делать нечего!

Баха Волков
02 октября 2018, 10:21
modx.pro
45
16 120
+45

Сборка для быстрого создания сайтов на MODX

14 10 000
Последнюю неделю я активно занялся оформлением сборки MODX, чтобы ускорить создание новых сайтов. В сборке реализовано много мелочей, которые каждый раз приходится делать после установки MODX, например, создание страницы для 404 ошибки и указание её id в настройках, установка стандартного набора дополнений, robots.txt и sitemap.xml, редирект на основное зеркало (удаление www из адреса), настройка дружественных URL и всё в таком духе.



Под катом более подробно о том, что можно получить при установке сборки.
Илья Уткин
01 августа 2016, 14:09
modx.pro
25
26 812
+13

pdoResources разбивка ресурсов по дням

Привет. Подскажи пожалуйста, может кто знает, как сделать следующий вывод материалов через pdoResources

По формату
Выводится сначала последний день (02.10.2015)
Затем список всех новостей этого дня
Затем предыдущий день (01.10.2015)
И все материалы этого дня

и так далее
Павел
02 октября 2015, 10:35
modx.pro
4
2 307
+1

getPage + getResources фильтрация вывода

Есть каталог недвижимости.
На странице вывода объектов есть простая форма «фильтра по цене», например:
<form action="[[~[[*id]]]]" method="get">
<select>
<option>2000</option>
<option>2500</option>
</select>
<input type="submit" value="Подобрать" />
</form>
Помогите передать значения формы в tvFilters вывода getResources:
[[!getResources? &showHidden=`1` &tpl=`вывод-объекты` &includeContent=`1` &includeTVs=`1` &processTVs=`1` &parents=`2` &tvFilters=`???`]]
Что то подобное есть в этом топике /help/801

Спасибо.
Владимир
08 сентября 2014, 04:09
modx.pro
1
2 977
0