Наверх

Рейтинг

Сортировка: По дате По просмотрам ↓

Исключение алиаса ресурса в URL дочерних ресурсов

21 июля 2016, 18:49

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

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

Обрабатываем поля форм, добавляемые динамически

06 апреля 2013, 02:54


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

<div class="control-group">
  <label class="control-label" for="contractor_phone">Телефон</label>
  <div class="controls">
    <div class="input-append">
      <input type="text" id="contractor_phone" name="contractor_phone[]">
      <span class="btn" id="add_phone"><i class="icon icon-plus"></i></span>
      <div id="addPhones"></div>
    </div>
  </div>
</div>

<script type="text/javascript">
$("#add_phone").click(function() {
    $("#addPhones").append('<input type="text" name="contractor_phone[]">');
});
</script>
В итоге в $_POST['contractor_phone'] приходит массив телефонов.

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

Шаблон Acallia для MODX

18 апреля 2013, 16:10


Для многих начинающих знакомиться с MODX, сюрпризом становится то, что для MODX нет шаблонов, как это понимается для других CMS (например, сколько разных шаблонов есть для wordpress или joomla).

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

Так вот, сегодня я начинаю выкладывать шаблоны в виде пакетов. Буду брать бесплатные HTML-шаблоны и запаковывать их в пакеты.

Новый раздел: Шаблоны MODX

Первым шаблоном будет Acalia. Внешний вид шаблона можно увидеть на демо-сайте. Шаблон доступен в официальном репозитории. Или вы можете скачать шаблон с моего сайта.
Читать дальше

Как работают дополнения MODX. Часть 3 — ExtJS Button

23 октября 2017, 15:28

Наверняка вы знаете, что обычно все дополнения MODX хранятся в папках /assets/components/ и /core/components/. Мы же создали папку нашего дополнения прямо в корне сайта. Это для того, чтобы было понятно — расположение файлов значения не имеет, MODX просто «смотрит» путь в пространстве имён и «идёт» по этому пути.

Расположение дополнений в папках core и assets имеет под собой ряд причин.
Читать дальше

Плагин для переключения контекстов при отсутствии нужного URL в текущем контексте

11 апреля 2013, 14:46

Иногда возникает потребность разбить ресурсы на несколько контекстов, например, чтобы вынести каталог товаров в отдельный контекст.

Прописывать везде ссылки типа [[~30 &context=`catalog`]] не хочется, да и не всегда возможно, поэтому я написал плагинчик switchContext на событие OnHandleRequest, который сам переключает контекст, если нужной страницы нет в текущем контексте
Читать дальше

Использование предустановленных шаблонов для TinyMCE

06 августа 2015, 11:20

Сегодня с помощью Артура Цыбы обнаружил в TinyMCE интересную фишку.

Оказывается, этот редактор позволяет заранее подготовить набор блоков, которые в дальнейшем смогут использовать пользователи (контент-менеджеры).

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

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

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

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

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

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

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

08 июня 2017, 18:52

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


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

Как работают дополнения MODX. Часть 1 — Namespace и Controller

22 октября 2017, 15:49

Разберём создание дополнения MODX руками — без всяких заготовок типа modExtra.


Мы будем разбирать создание именно «дополнения», а не «пакета» или «компонента». Для понимания разницы приведу в пример работу со сниппетами в MODX. Мы можем нажать в админке кнопку «Новый сниппет», ввести в открывшейся форме имя Hodor и код:
<?php
return 'Hodor!';
После сохранения мы можем вызывать его в любом месте шаблона и пользоваться сниппетом. Но если мы хотим использовать этот сниппет на нескольких сайтах, можно сделать транспортный пакет, который будет содержать в себе сниппет Hodor.
Читать дальше

Модель безопасности в MODX

23 сентября 2014, 19:02

Модель безопасности в MODX не самая очевидная. Хотя в MODX присутствуют примитивы, присущие, например, модели безопасности SQL, их предназначение в MODX несколько отличается.

При настройке безопасности конечной целью является дать каждому пользователю соответвующий набор привилегий – разрешить ему совершать определенные действия в системе. Действия могут совершаться над различными объектами: страницами (resource), контекстами (context), чанками (chunk), переменными шаблонов (TV) и т.д. Сами действия могут быть очень разными, в простейшем случае это создание, просмотр, редактирование и удаление. Таким образом, задача настройки безопасности сводится к заданию отношений между пользователями, объектами и привилегиями.

Группы пользователей

Предположим, мы хотим дать пользователю partner доступ к странице «Проекты» на редактирование. В этом примере объектом является страница «Проекты», привилегией – редактирование, а пользователем – partner. Но для того, чтобы реализовать такую схему безопасности, потребуется создать группу пользователей. Дело в том, что в MODX права назначаются именно группе, а не пользователю. Группа – это множество пользователей, обладающих схожими правами. Разумеется, пользователь может состоять в нескольких группах.
Читать дальше

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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