[] Плагин сохранения истории изменений элементов MODX в админке

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



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

[] Ошибки в opere из-за WebloginPE и групп ресурсов

Заметил интересный баг который проявляется только в опере. В общем если на странице с ограниченым доступом (страница 403 в настройках MODx) вызвать WebloginPE, то опера через раз отдает контент. Даже не через раз, а с третьего раза.

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

[] Отключаем сообщения об ошибках

Многие наверное видели сообщения вида MODx Parse Error bla-bla-bla
на сайтах сделаных на modx evolution. Как правило подобные ошибки несут в себе чисто информативный харрактер. Но эта информация может дать очень ценную информацию для скрипткидиса.


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

[] Модуль importFile - импорт/экспорт товаров

Возможности

  • Импорт товаров документов MODx, а также каталога Shopkeeper.
  • Поддерживаются форматы файлов для импорта: XLS.
  • Простая наглядная конфигурация. Можно настроить какой столбец куда (поле документа/каталог/TV-параметр) импортировать.
  • Два способа обновления данных
    • Добавлять (товары будут обновлены и добавлены)
    • Обновлять (тоже что и добавлять + товары, которых нет в файле будут удалены).

  • Файловый менеджер позволяет управлять загруженными фалами.
  • Поддержка категорий. Неограниченная вложенность.
  • Сопоставление происходит по имени товара.
  • Экспорт товаров из каталога сайта или каталога Shopkeeper в xls файл. NEW

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

[] UnisenderConnector by Alooze

Собственно как и обещал выкладываю в паблик решение заказаное мной ранее. На данный момент сниппет протестирован и успешно работает на сайте Обучение аэродизайну.


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

[] Информация о родителе

Порой необходимо быстро получить информацию о родителе, например вывести заголовок, id и т.п. Для этого есть getPageInfo, но в чистом виде нужную информацию мы не получим. А уж если нам понадобилось значение tv параметра, то придется вызывать getTemplateVar. Чтобы не плодить несколько снппетов набросал один. Ничего такого заумного в нем нет, но все же решил поделиться.


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

[] Сниппет "Сарафанное радио" или поделись с друзьями

Вечер добрый!

Собственно сабж
В последнее время социальные сети, как и реклама в них, стали очень популярны. Поэтому я посчитал необходимым опубликовать сниппет, который выводит на странице иконки социальных сетей. Все минималистично и подходит для любителей все подстраивать под себя.

Чем же он хорош? Ну во-первых — отсутствует JS, а во-вторых — может применяться для мультиязычных сайтов.

Есть Твиттер, Вконтакте, Одноклассники, Фейсбук, Закладки Google и ЖужльGoogle+.

Это альфапервая версия, и надеюсь не последняя. Вызов осуществляется:

[[sRadio]]

Или:
[[sRadio? &layout=`fb, vk, od` &lng=`en` &tpl=`template`]]

В этом случае отображаются иконки Facebook, Вконтакте и Одноклассники c English titles через шаблон в чанке template. Думаю принцип использования понятен.

Сарафанное радио в деле...

Пользуйтесь на здоровье!

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

UPD1: Добавил Google+

UPD2: Добавил возможность вывода на разных языках. Создавайте свои переводы в папке sradio/lang/. В наличии Русский и Английский. По умолчанию сниппет использует Русский.

UPD3: Добавил возможность шаблонизации с помощью чанка, параметр вызова &tpl=`название чанка`, плейсхолдеры: [+srurl+], [+srclass+] и [+srtitle+]
Содержимое чанка, аналогичное шаблону поумолчанию:

<a class="[+srclass+]" href="[+srurl+]" title="[+srtitle+]">[+srtitle+]</a>

UPD4: Добавил контроль ошибок и вывод предупреждений о неправильном чанке и отсутствии языкового файла.

[http://modx.im/blog/96.html] Несколько полезностей, если хостинг не торт.

И снова, здравствуйте.

Иногда бывает так, что клиентский хостиг – грабли на костылях. Что же делать, когда нету ни SSH, ни нормальной контрольной панели? А есть только FTP.
Здесь нам на помощь приходит чистый PHP.

Итак:

  • UNZIP. Залили по фтп архив с MODx и извлекли.
    <?php
    require_once('pclzip.lib.php');
    $archive = new PclZip('modx-1.0.6.zip');
    if ($archive->extract() == 0) {
        die("Error : ".$archive->errorInfo(true));
    }else{
        echo 'ok';
    }
    ?>

    Внимание: Для работы нужна библиотека pclzip.lib.php

  • DELETE. Удаляем папку modx-1.0.6 рекурсивно от имени www-data.
    <?php function deltree($folder) {
        if (is_dir($folder)) {
            $handle = opendir($folder);
            while ($subfile = readdir($handle)) {
                if ($subfile == '.' or $subfile == '..') continue;
                if (is_file($subfile)) @unlink("{$folder}/{$subfile}");
                else deltree("{$folder}/{$subfile}");
            }
            @closedir($handle);
            if (@rmdir($folder)) return true;
            else return false;
        } else {
            if (@unlink($folder)) return true;
            else return false;
        }
        return false;
    }
    deltree(modx-1.0.6);
    ?>

  • CHMOD. Обычно в этом нуждается директория assets:. Рекурсивно меняем права.
    <?php
    function chmod_r($path, $filemode, $dirmode) {
        if (is_dir($path) ) {
            if (!chmod($path, $dirmode)) {
                $dirmode_str=decoct($dirmode);
                print "Failed applying filemode '$dirmode_str' on directory '$path'\n";
                print "  `-> the directory '$path' will be skipped from recursive chmod\n";
                return;
            }
            $dh = opendir($path);
            while (($file = readdir($dh)) !== false) {
                if($file != '.' && $file != '..') {
                    $fullpath = $path.'/'.$file;
                    chmod_R($fullpath, $filemode,$dirmode);
                }
            }
            closedir($dh);
        } else {
            if (is_link($path)) {
                print "link '$path' is skipped\n";
                return;
            }
            if (!chmod($path, $filemode)) {
                $filemode_str=decoct($filemode);
                print "Failed applying filemode '$filemode_str' on file '$path'\n";
                return;
            }
        }
    }
    
    chmod_r("assets", 0777, 0777);
    ?>

[http://modx.im/blog/95.html] тема QM

Вечер добрый!
Оживим некротопик пятилетней давности :D

Быстро причесал тему QM под дизайн админки, пока не вышла новая версия EVO.
github.com/a-sharapov/QuickManager

Из недостатков:
1. Проверял только для стандартного вывода (т.е. вверху)
2. Внес исправление в js: jquery.colorbox-min.js под свой фреймворк, поэтому лучше брать оригинал из репозитория github.com/Nicola1971/QuickManager

[] [EVO] MODX custom by Dmi3yy (1.0.6-d2)

Скачать можно тут: github.com/dmi3yy/modx.evo.custom


Изменения:
— удален phx, используйте сниппет IF для логических операций
— отключен phx в ditto для включения пишем &phx=`1`
— снипеты плагины вынесенны в файлы
— пагинация дитто теперь работает хитро: (http://d.hatena.ne.jp/hikidas_ikeda/20090831/1251718786)
— изменено оформелние админки
— добавлен плагин FileSource, доработан так же под работу с плагинами(http://community.modx-cms.ru/blog/dev/456.html)
рекомендую для безопасности в свои снипеты которые доавляете в файлы добавлять строку:
if(!defined('MODX_BASE_PATH')){die('What are you doing? Get out of here!');}

p.s. Если очень нужен PHx и многие жить без него не могу то пишите верну обратно в сборку

Таже буду благодарен за любую помощь со сборкой:
— ошибки или пожелания пишем тут:
github.com/dmi3yy/modx.evo.custom/issues?state=open
-донат отправляем сюда:
Z426917942141, R397374277511, U249615588561, ЯД 41001596309609
— Спасибо пишем в комментариях :)