Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #3

[msFavorites] - версия 3.0, работа с любыми объектами.

[msFavorites] — компонент реализует функционал создания списков избранного.

Особенности:
— работа с любыми объектами
— работа с любыми пользователями

Демо-версию можно посмотреть на msfavorites.vgrish.ru, а попробовать перед покупкой на modhost.pro

Володя
05 июля 2019, 06:53
modx.pro
4
493
+19

Подключаем Ecommerce в Яндекс.Метрике

Всем привет. На форуме куча полезной информации по разработке магазинов. Я же в свою очередь хочу рассказать про настройку аналитики.

Итак мы будем передавать информацию из магазина miniShop в Яндекс.Метрику для того, чтобы в полном объёме пользоваться отчётами Электронной коммерции.
mekirile
24 марта 2016, 07:05
modx.pro
33
5 965
+13

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



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

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

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

Иван Климчук
08 октября 2015, 22:53
modx.pro
21
4 493
+11

[pdoTools] Версия 2.1 - улучшения Fenom

Привет друзья! Хочу представить вам новую версию pdoTools с улучшениями работы шаблонизатора Fenom.

Функциональность vs Безопасность

Я долго думал, как бы разрешить менеджерам запускать чанки и сниппеты, но при этом не пускать их к объектам MODX. Потому что, если включить системную настройку pdotools_fenom_modx, то любой менеджер сможет сделать в чанке вот так:
{if $res = $modx->getObject('modResource', 1)}
	$res->remove();
{/if}
Нам бы этого не хотелось, правда?

С другой стороны, я не хочу придумывать очередной псевдоязык команд, типа
{runSnippet('name', [params => data])}
или
{'name' [params => data] | snippet}
Поэтому я добавил специальную переменную {$_modx}, которая ссылается на небольшой безопасный класс, где есть только нужные менеджерам функции и свойства:
  • {$_modx->placeholders} — массив с системными плейсхолдерами
  • {$_modx->config} — массив с системными настройками
  • {$_modx->context} — массив (не объект!) с текущим контекстом
  • {$_modx->user} — массив (не объект!) с текущим пользователем
  • {$_modx->resource} — массив (не объект!) с текущим ресурсом
  • {$_modx->lexicon} — служба загрузки лексиконов
  • {$_modx->lexicon()} — функция для вывода строки из лексикона
  • {$_modx->runSnippet()} — запуск сниппета
  • {$_modx->runProcessor()} — запуск процессора
  • {$_modx->getChunk()} — вывод чанка
  • и т.д., смотрите исходник.
Василий Наумкин
09 августа 2015, 12:17
modx.pro
13
10 105
+11

[mSearch2] Версия 1.3.0 - псевдонимы фильтров

Представляю вам большое обновление компонента поиска и фильтрации mSearch2.

Во-первых, теперь можно указывать несколько фильтров для одного поля:
&filters=`
	createdon:year,
	createdon:month
`
Если какое-то поле указано 2 и более раз, то его имя прописывается как поле-фильтр и получается
createdon-year и createdon-month
Соответственно, вы можете указать для этих полей отдельные записи в лексиконах.
Василий Наумкин
16 апреля 2015, 16:26
modx.pro
2
2 454
+14

Удаление старых аватарок Office

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

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

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

Скрипт опробован на этом сайте (modx.pro), проблем не было. Но всё равно: внимание, использовать скрипт только после полного бэкапа сайта! Как и любая операция с удалением файлов, этот скрипт потенциально опасен!

Я вас предупредил, претензии не принимаются.
Василий Наумкин
21 января 2015, 01:24
modx.pro
4
978
+8

Наследуемость полей у расширяемых xPDO-классов

Всем привет!

Смотрите, когда в своих компонентах мы наследуемся от, допустим, modResource, то в схеме мы пропишем следущее:
<model package="myPackage" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="myPackage" phpdoc-subpackage="" version="1.1">
  <object class="myObject" extends="modResource">
  </object>
</model>
И, собственно, всё — объект myObject унаследует все поля, их свойства и методы от класса modResource.

Теперь то, что хочу сделать я.
У меня есть пара десятков сущностей (и, соответственно, таблиц), у каждой из которых должен быть определённый набор полей, вроде «кем создан», «когда создан», «активно», «удалено» и т.д.

Так вот по аналогии с расширением класса modResource подумалось мне сделать вот так:
<model package="myPackage" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM" phpdoc-package="myPackage" phpdoc-subpackage="" version="1.1">
  <object class="myObjectTemplate" extends="xPDOSimpleObject">
    <field key="active"                  dbtype="tinyint" precision="1"    attributes="unsigned" phptype="integer"   null="false" default="0" />
    <field key="deleted"                 dbtype="tinyint" precision="1"    attributes="unsigned" phptype="integer"   null="false" default="0" />
    <field key="createdby"               dbtype="int"     precision="10"   attributes="unsigned" phptype="integer"   null="false" default="0" />
    <field key="createdon"               dbtype="int"     precision="20"   attributes="unsigned" phptype="timestamp" null="false" default="0" />
    <field key="deletedby"               dbtype="int"     precision="10"   attributes="unsigned" phptype="integer"   null="false" default="0" />
    <field key="deletedon"               dbtype="int"     precision="20"   attributes="unsigned" phptype="timestamp" null="false" default="0" />
    <!-- в действительности будет ещё десяток таких полей + индексы к ним -->
  </object>

  <object class="myObjectOne" table="my_object_one" extends="myObjectTemplate">
    <field key="my_object_one_field"     dbtype="int"     precision="10"   attributes="unsigned" phptype="integer"   null="false" default="0" />
  </object>
  
  <object class="myObjectTwo" table="my_object_two" extends="myObjectTemplate">
    <field key="my_object_two_field"     dbtype="int"     precision="10"   attributes="unsigned" phptype="integer"   null="false" default="0" />
  </object>
</model>
Таким образом, имеем объект-«шаблон», у которого прописаны определённые поля и не прописана таблица. И остальные классы, которые расширяют этот класс-«шаблон» и добавляют в себя собственные столбцы (коряво выразился, знаю).

Так вот.
Алексей Карташов
12 ноября 2014, 22:52
modx.pro
12
1 921
+2

Ограничение доступа в админку по IP и дням недели

Это никак не отражено в документации, но любому пользователю можно ограничить авторизацию по IP и дням недели. Работает это c помощью настроек пользователя. Далее краткая инструкция (я использую MODX 2.3, поэтому в версии 2.2 пути могут отличаться):

1) Заходим в пункт меню Управление -> Пользователи.

2) Выбираем нужного пользователя правой кнопкой и жмем «Редактировать».

3) Переходим на вкладку «Настройки» и жмем кнопку «Создать новый».

4) В появившемся окне называем ключ allowed_ip — это будет настройка ограничения по IP. Имя можно выбрать любое. В поле значение записываем IP через запятую, например, «192.168.0.1,127.0.0.1». Сохраняем.

5) Аналогично настройка по дням. Ключ называем allowed_days. Значение — это номера дней через запятую от 1 (воскресенье) до 7 (суббота). Например, строка «2,3,4,5,6» ограничит доступ в админку только рабочими днями.
Виталий Киреев
12 ноября 2014, 05:27
modx.pro
13
2 597
+15

[Save2Page] Экспорт страниц в PDF

Позвольте Вашим пользователям скачивать Ваши статьи, новости, тексты в формате PDF ! 

Пакет Save2Page добавляет на сайт кнопки для быстрого сохранения текущей страницы в файл формата PDF и кнопку для отображения версии для печати. 

Пожалуйста, обратите внимание, что модуль плохо сохранять в PDF-файл сложный контент (сложная верстка, скрипты, HTML5 и др). Имейте ввиду, что модуль создан не для сохранения всего подряд, а для сохранения контента (статьи, новости, акции, услуги и товары и др).

Этот функционал часто можно встретить на сайтах с другими CMS, а теперь и на MODx Revolution! Благодаря этому решению Ваш пользователь сможет быстро скачать себе интересную статью, описание товара с картинками, новость и многое другое, что есть на Вашем сайте! 

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

На текущий момент доступно:

  • генерации pdf на основе ресурса modx
  • генерация pdf на основе чанка modx
  • генерация pdf на основе сниппета modx
  • генерация Markdown на основе ресурса modx
  • генерация Txt на основе ресурса modx
Володя
09 октября 2014, 11:48
modx.pro
7
6 455
+7

Водяной знак на изображения через редактор

Как обрабатывать картинки, загружаемые через текстовый редактор в поле content? Нужно настроить наложение водяного знака.
Мне приходит на ум только создание сниппета, который указать через модификатор тэгу: [[*content:mySnippet]]. А уже сниппет будет (каким-то образом не знаю ещё) вытаскивать значения изображений и обрабатывать их через phpThumbOn.

P.S. Ещё идея пришла тут в голову — использовать MinifiX (Munee) для обработки изображений: bezumkin.ru/sections/components/2384/ .

Что вы думаете по этому поводу?
Василий Столейков
30 сентября 2014, 07:11
modx.pro
2
975
0