Наверх

Советы и решения

Простой AJAX-фильтр для MODX с помощью pdoPage

06 декабря 2018, 13:02

Да, ещё один способ реализации Ajax-фильтра на сайте =)

Начнём с простого вывода на странице обычного списка ресурсов. Обязательно добейтесь, чтобы нормально работала AJAX-пагинация, потому что своих механизмов работы с AJAX мы писать не будем, а будем использовать методы AJAX, которые есть в pdoPage.

<div id="pdopage">
  <div class="rows row">
  {'!pdoPage' | snippet : [
    'ajaxMode' => 'default',
    
    'parents' => 0,
    'limit' => 3,
    
    'includeTVs' => 'height,weight,speed_type',
    'tvPrefix' => '',
    
    'tpl' => '@INLINE 
      <div class="col-sm-6 col-md-4">
        <div class="thumbnail">
          <div class="caption">
            <h4>{$pagetitle}</h4>
            <p>Вес: {$weight}</p>
            <p>Высота: {$height}</p>
            <p>Тип: {$speed_type}</p>
          </div>
        </div>
      </div>',
  ]}
  </div>
  {'page.nav' | placeholder}
</div>

Читать дальше

Давайте-ка потестируем PR в репозитории MODX

13 августа 2018, 15:52

Ну что, поможем с пулл-реквестами для MODX 3?

Создаём у себя на хостинге новый пустой сайт и пустую базу данных. Версию PHP поставьте 7.1. После этого подключаемся к серверу по SSH (с помощью Putty, например). На хостинге Beget есть SSH прямо в личном кабинете:



Заходим в корень новой пустой папки и скачиваем MODX с гитхаба:
cd modx-test.dev/public_html/
rm -rf *
git clone https://github.com/modxcms/revolution .

Читать дальше

Сжатие картинок с помощью сервиса OptiPic

11 декабря 2017, 15:46

OptiPic.io — это сервис оптимизации изображений для сайтов. Дополнение OptiPic реализует интеграцию сайта MODX с этим сервисом. Чтобы оптимизировать картинки, например, при выводе через pdoResources, добавьте сниппет optipic в список фильтров ввода вывода:

<h4>[[+pagetitle]]</h4>
<img src="[[+tv.image:phpthumbon=`w=350&h=180&zc=1`:optipic]]"
 alt="[[+longtitle]]">

Читать дальше

Защита от спама формы на AjaxForm

08 августа 2017, 10:59

У FormIt есть стандартный функционал защиты от спама — проверка любого поля на пустоту. Если робот-спамер заполнит такое поле, то письмо не будет отправлено.

Единственный минус этого способа в том, что ответ от сервера приходит с ошибкой валидации — по ответу сразу видно, что письмо не отправлено и нужно робота перенастроить.

В итоге такой способ задерживает меньше спама, чем мог бы.
Читать дальше

Работа с полями ресурса после сохранения (пример создания плагина)

05 августа 2017, 10:17

В MODX существует система плагинов и событий. Одно из интересных событий — OnDocFormSave. Это событие на сохранение ресурса.

Простыми словами — если мы создадим плагин, у которого отметим на вкладке «Системные события» галочку OnDocFormSave, то код этого плагина будет запущен после сохранения любого ресурса.

В коде плагина мы легко можем определить, какой ресурс был сохранён — только что созданный или уже существовавший ранее. Это нужно, если мы захотим обрабатывать только поля новых ресурсов, но ничего не менять, если в ресурс просто вносятся какие-то изменения. Для этой цели MODX передаёт нам параметр $mode:
<?php
if ($mode == 'new') {
    // Здесь пишем наш код
}

Читать дальше

Простой список избранного для MODX

06 июля 2017, 15:58

Ещё один пример использования customExtra — на этот раз для реализации избранного для зарегистрированных пользователей на сайте.

Сниппет написан на скорую руку, по идее нужно оформление выносить в чанки, добавлять возможность менять параметры сниппета. Кроме того, сниппет не предназначен для вызова в списке статей — только на странице конкретной статьи.

<?php
// Избранное доступно только для авторизованных пользователей
if (!$modx->user->id) return;

// Иконка и подсказка по умолчанию
$icon = 'fa fa-star-o';
$title = 'Добавить в избранное';

// Флаг наличия статьи в избранном
$in_fav = false;

// ...

Читать дальше

MODX и Isotope - фильтрация блоков на странице

28 июня 2017, 09:42

Isotope — это jQuery плагин, который позволяет фильтровать группу блоков, сортировать блоки и располагать их, например, плиткой.

Isotope

Для того, чтобы фильтрация заработала, у блоков нужно проставить соответствующие классы. Если мы хотим сделать фильтрацию, например, проектов в портфолио, то сами проекты могут быть отдельными ресурсами, а вот категории могут быть тегами.

Для тегов есть очень удобное дополнение от Павла Гвоздя — tvSuperSelect. Будем использовать его для распределения проектов по категориям.
Читать дальше

Генерируем картинку для статьи из её заголовка

09 июня 2017, 17:34

Чтобы раздел статей не был сборищем одинаковых превьюшек, можно использовать такой сниппет. Он берёт фоновую картинку, поверх неё пишет заголовок статьи и сохраняет получившийся файл. Превьюшки могут выглядеть как-то так:

Читать дальше

Как избавиться от большого количества шаблонов в MODX

08 июня 2017, 18:52

Обычно сайт состоит из нескольких разделов, у которых одинаковая шапка и футер, но различается контентная часть. Причём различия эти могут быть существенными — например, в блоге нужно выводить дочерние ресурсы в виде заголовка и аннотации, а в портфолио — в виде большых превьюшек:


Читать дальше

Файловый менеджер для WEB — SPRUT.io

15 января 2016, 11:56

Многие знают, что я давно работаю с хостингом BEGET.RU и всем его советую. Сегодня я увидел, что на моём любимом хостинге проводится розыгрыш, главным условием которого было порекомендовать сервис хостинга, написав статью в блоге. Поэтому я решил рассказать о файловом менеджере, разработанном в компании Бегет.

Сначала небольшая справка. Компания ООО «Бегет» — это российский хостинг. Сервера находятся у нас. Раньше это был только Санкт-Петербург, сейчас, насколько я знаю, география расширена. MODX на хостинге работает отлично, а цены порадуют многих. Тем более, что первый месяц использования любого тарифа абсолютно бесплатный.
Читать дальше

Авторизация

через сервис Loginza:

Подписка или RSS

Буду присылать новые статьи — никакого спама



Шаблоны MODX

1 2 Дальше »

Объектная
модель
MODX