Разделы

  
 

[Evo][Хак] Вынужденная правка API

Буду краток.

На сайте был TV с типом text. В него писались id ресурсов, через запятую. В какой-то момент этот TV стал Listbox. Но в одном из документов по старой памяти сохранилась запись «22,». В итоге, когда вызывался этот TV в шаблоне Ditto (вместе с самописным модификатором PHx), падал сайт с ошибкой Mysql.

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

В итоге выяснилось, что в API функции getDocuments нет проверки на такие вещи. Пришлось внести исправления.

Итак, файл document.parser.class.inc.php, строка 1458:


function getDocuments($ids= array (), $published= 1, $deleted= 0, $fields= "*", $where= '', $sort= "menuindex", $dir= "ASC", $limit= "") {
        if (count($ids) == 0) {
            return false;
        } else {
//вот тут я вставил проверку
            /**++**/
            foreach ($ids as $id) {
              if (intval($id) != 0) $newIds[] = intval($id);
            }
            $ids = $newIds;
            /**++**/
//конец правки



Я понимаю, что шанс поймать такие грабли крайне невелик. Но я также помню, что мизера всегда ходят парами. Может быть кому-то и пригодится.
  • +2
  • 2 марта 2012, 05:30
  • alooze
  • 2

[EVO] menutitle вместо pagetitle в дереве документов в Админке

Понадобилось отображать в админке menutitle если заполнен он
так как pagetitle очень длинный :)

нашел топик:
forums.modx.com/index.php?topic=34422.0

но там чуть смещенные строки.
в итоге кому нужно вот поправленный nodes.php.zip

UPD
Ага уже задали вопрос зачем это :)
вот картинка так понятней будет
  • +13
  • 12 января 2012, 23:50
  • Dmi3y
  • 10

[Evo][Хак] PHx нарвался

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

Решение не претендует на свежесть взгляда или универсальность. В моем случае оно работает.


( Читать дальше )
  • +4
  • 1 ноября 2011, 03:24
  • alooze
  • 3

[EVO] Убираем задержку при редактировании документов

В MODx есть такая неприятная вещь (покрайне мере для меня) как:

Действие успешно завершено
Пожалуйста, подождите, пока MODx произведет очистку.


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

Лечится просто: файл manager/action/wait.static.php меняем
x=window.setTimeout('goHome()',2000);
на
x=window.setTimeout('goHome()',0);
  • +5
  • 8 октября 2011, 00:43
  • tonatos
  • 9

[Хак] Авторизация "все включено" или Modx Evo+phpBB+Loginza = дружба

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

1) Постановка задачи.

На действующем сайте с самописным движком и форумом phpBB в поддиректории forum/ была сделана совместная авторизация средствами phpBB. В ТЗ была поставлена задача: сохранить совместную авторизацию для ModX и phpBB и добавить к ней возможность входить через Логинзу. Все три авторизации должны были быть сквозными.



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

MODx & Livestreet

По просьбам трудящихся… Честно говоря совсем не хотел публиковать этот хак, так как он просто чудовищно черновой. Но раз настаиваете, ловите. Возможно кто-то сумеет это развить… От слов к делу.

( Читать дальше )
  • +8
  • 30 ноября 2010, 00:27
  • Carw
  • 13

Собственные типы TV в MODx Evoluton 1.0.3

Наши зарубежные друзья немножко покопались в ядре и появилась возможность добавлять собственные типы TV в MODx Evoluton 1.0.3.
Статья на сайт разработчиков: http://www.mapledesign.co.uk/projects/modx-tvs/
На сайте разработчиков можно скачать пропатченную версию MODx 1.0.3, в неё включён один пример собственного типа TV.

Документации пока никакой нет.

Топик на форуме: http://modxcms.com/forums/index.php/topic,49153.msg287728.html

нужен хак для TV

Ребята выручайте! Совсем не знаю куда копать.
Нужно примерно следующее: у каждого документа может быть несколько значений одного параметра (от одного до бесконечности)
Пока решил проблему условным разделителем "|" между несколькими значениями, но нужно чтобы каждое значение можно было вводить в отдельное поле. А сколько этих полей будет заранее предугодать невозможно.
Подскажите куда копать… срочное, и я так думаю очень муторошное дело.

[Хак] Картинки в дереве документов

Давно что-то я не писал топиков, решил исправится.

Немного введения


Как известно в MODx единицей хранения информации является документ, причем как правило, документы различаются по [+pagetitle+], который является как бы человеческим идентификатором документа. Глядя на заголовок всегда можно сказать что-то и о содержимом этого документа.

А что делать если для нас не важен заголовок документа, а важна картинка, которая привязана к документу? Скажем нужно реализовать вот такое:




( Читать дальше )
  • +3
  • 28 ноября 2009, 08:25
  • grinant
  • 8

[Хак][Evo] Расширения для разработчика

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

Итак, специально для тех, кому не хватает встроенной функциональности MODx, я предлагаю концепцию подключения дополнительных расширений.

Отличным примеров показывающим возможности расширения можно назвать DBAPI, который мы используем в API. Это расширение является включенным по умолчанию, но существует и механизм для подключения других. Давайте научим этому MODx.

( Читать дальше )
  • +3
  • 22 октября 2009, 02:20
  • Carw
  • 15