Александр Наумов

Александр Наумов

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

[modClassVar] - переменные класса, альтернатива ТВ

Данный компонент — небольшая альтернатива ТВ полям со своими плюсами и минусами.
В админке представлен в виде таба



тут же можно создавать и редактировать переменные. Данная вкладка грузится как для ресурса, так и для пользователя. Не составит особого труда подгрузить панель и к кастомному классу.
Володя
19 июля 2016, 09:02
modx.pro
7
4 912
+13

Давайте шифроваться!

Спешу сообщить, что с сегодняшнего дня вы можете получать бесплатные SSL/TLS сертификаты от Let`s Encrypt на modhost.pro.


Процедура очень проста — нужно зайти в управление вашими доменами и выбрать те, для которых вы хотите получить сертификаты. Очень важно, чтобы эти домены были правильно настроены (верная А запись) и доступны снаружи, потому что Let`s Encrypt будет проверять их ответ.
Василий Наумкин
02 июля 2016, 07:15
modx.pro
4
4 426
+14

Резервное копирование сайтов в Яндекс Диск


Благодаря статье Михаила Воеводского заметил, что тема резервного копирования востребована в сообществе. Решил поделиться своим скриптом резервного копирования написанным на Python. Примечателен он тем, что полностью удовлетворяет закону импортозамещения заливает файлы на Яндекс Диск, раскладывая их по папочкам вида ГГГГ-ММ-ДД. Это не все его приятные особенности, вот список:

  • Умеет удалять старые бекапы с ЯДиска, если они старее чем N дней (настраивается в config.yaml)
  • Умеет удалять старые логи с сервера
  • Раскладывает бекапы на ЯДиске по папкам вида: ГГГГ-ММ-ДД
  • Бекапит системные папки: /etc/, /var/log/, /root/
Павел Гвоздь
26 июня 2016, 11:04
modx.pro
34
5 140
+14

Резервное копирование сайта на MODX в Google Диск

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

Итак, вводные данные:
  • Каждый сайт работает от своего пользователя;
  • Все сайты находятся в /var/www/ ;
  • Системное имя пользователя, имя пользователя БД и название БД совпадают.
Что нам нужно в результате:
  • Создание zip архива всего сайта и sql дампа БД в ~/backup
  • Подстановка даты в имя файлов
  • [Опционально] Закачивание всех архивов в Google Drive и удаление с сервера
Воеводский Михаил
24 июня 2016, 12:00
modx.pro
30
5 227
+21

[msDigitalOffers] Продажа цифровых товаров (кодов)

Компонент реализует продажу цифровых товаров (например: ключей для игр).

Что умеет

— Добавление одного или списка кодов в товаре
— Учет проданных кодов в товаре
— Отправка кода на email покупателя

Компонент не может сам генерировать коды, для этого используйте msKuponator.
Логика именно в продаже существующих ключей, кодов, файлов.

Список кодов


but1head
10 июня 2016, 12:22
modx.pro
3
4 158
+9

В погоне за удобством посетителей или умные ссылки

Здравствуйте.
У многих на сайтах есть блок с похожими статьями, как правило их выбирают из тех же категорий или используют теги. Но не все ссылки (статьи) в этих блоках одинаково полезны для посетителей, и если проверить, то на одни кликают часто, на другие крайне редко.
Борис И
06 июня 2016, 17:03
modx.pro
20
3 323
+12

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
18 840
+19

Делаем колбеки miniShop2 для всех

Всем привет! Так как в miniShop2 есть список колбеков для того, чтобы на определённые действия, совершаемые компонентом, можно было повесить свой код и, тем самым, дополнить работу магазина, то многие разработчики дополнений используют их в своём коде. Я уж не говорю о вебмастерах, которые используют этот инструмент для решения определённых нужд в своих сайтах.

В чём проблема?

В связи с этим получается проблема. Колбеков мало, а желающих воспользоваться ими — много. Я уже не раз сталкивался с тем, что некоторые компоненты из Modstore не могут работать вместе, т.к. используют одни и те же колбеки, на одних и тех же страницах.
Проблема в том, что код одного компонента, использующего, например miniShop2.Callbacks.Order.getcost, пересекается с другим кодом, другого компонента, использующего этот же колбек. Получается конфликт, который я для себя, в своих пакетах, решаю так:
Павел Гвоздь
22 мая 2016, 00:53
modx.pro
13
6 205
+3

[решено] Как передать fenom массив?

Пытаюсь передать в шаблонизатор fenom массив следующим образом:

запускаю сниппет giveFenomArray с кодом:
$pls['arr'] = ['el1','el2'];
$modx->setPlaceholders($pls);
Затем в шаблоне вызываю сниппет и пытаюсь взять плейсхолдер «array»:
{$_modx->runSnippet("!giveFenomArray")}
{set $arr = $_modx->getPlaceholder("arr")}
{$arr[0]}
Но в ответ ничего не выводится.
Подскажите, это особенность связки modx+fenom, или это я делаю что-то не так?

UPD: все прекрасно работает по функции $modx->setPlaceholder('arr',$pls['arr']);
метод $modx->setPlaceholders действительно разбивает весь массив, даже многомерный на ключи и значения, а только потом их передает как строки в шаблон
Алексей
08 мая 2016, 12:55
modx.pro
3
5 106
0

Upgrade PHP7 на Ubuntu 14.04

Для тех кто еще не обновил свои сервера на PHP7, настроенные по заметке Василия Наумкина.
Добавляем репозиторий
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
sudo apt-get update && apt-get purge php5-fpm && apt-get --purge autoremove && apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-json php7.0-mcrypt php7.0-opcache php7.0-xml php7.0-mbstring

У меня все заработало. php5 при этом можно оставить (хотя может чего-нибудь вылезти).
В конфигурации php7-fpm меняем только сокет
listen = /var/run/php/php7-eco.sock
и удаляем закоментируемую строку
#php_admin_value[disable_functions] = exec,passthru и т.д.
В конфиге nginx также меняем только сокет
upstream backend-eco {server unix:/var/run/php/php7-eco.sock;}
После изменения конфигов не забываем рестартить сервисы
service nginx restart
service php7.0-fpm restart
Sergey Pozhidaev
04 мая 2016, 08:05
modx.pro
13
9 329
+9