0.00
58 читателей, 60 топиков

Для чего нужен documentObject

Столько времени я в каждом сниппете использую следующую схему:
$id = $modx->documentIdentifier;
$doc = $modx->getDocument($id);
$tvs = $modx->getTemplateVarOutput('*', $id);
...

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

[EVO] Тестируем MySQLi Extender

Давайте потестируем:

Без обновления
  • Забираем файлик с git — github.com/modxcms/evolution/blob/develop/manager/includes/extenders/dbapi.mysqli.class.inc.php
  • Кладём в /manager/includes/extenders/dbapi.mysqli.class.inc.php
  • Правим /manager/includes/config.inc.php
    $database_type = 'mysqli';
  • Ищем is_resource и заменяем его на $modx->db->isResult как минимум в файлах:
    /assets/modules/docmanager/tv.ajax.php
    /manager/includes/controls/datagrid.class.php
    /manager/includes/controls/datasetpager.class.php
    /manager/includes/tmplvars.format.inc.php
    /manager/includes/tmplvars.inc.php

С обновлением

[EVO] Где хранить элементы или как улучшить работу с git в MODX

С каждым нормальным проектом, который в последствии требует доработок уже в процессе работы и просто так делать по живому там нельзя встает вопрос как же все это связать в MODX?

Есть пару интересных идей, но хотелось бы узнать мнение сообщества кто и как решает подобный вопрос.

Modifiers, быть или не быть? Вот в чём вопрос.

Стоит ли внедрить механизм модификаторов в ядро MODx EVO Custom, добавить раздел в Extras — «Модификаторы», так чтоб можно было устанавливать модификаторы.

Как по мне разницы между [[NumberForma?number=`[+Price+]`]] и [+Price:NumberFormat+] особой нету. Но дело в том что плодить сниппеты в Extras из-за мелочных задач нет смысла, а вот модификаторы как раз в тему.

[EVO] updateNotify - пугаем заказчиков сообщением об устаревшей версии Evo (:

Идея такая: смотрим, какая последняя версия выложена в релизах на github, и сравниваем ее с версией установленной системы. Если на гитхабе свежее — показываем сообщение.

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

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

[EVO] 10 000 + документов в дереве.

Этой теме уже много лет.
Из предложенных вариантов вот основные:
community.modx-cms.ru/blog/1346.html
modx.im/blog/addons/803.html
modx.im/blog/addons/1977.html
github.com/AgelxNash/CustomEvo

Как по мне самый приятный последний вариант но еще раз немного покопавшись решил сделать еще 1 вариант который упрощает жизнь и позволяет сайту работать с большим количеством документов.

Суть вопроса

1. Находим самое узкое место в системе кэширования
-проблема известна давно это масив в кеше AliasListing
при 23000 документах он съедает порядка 80 мегабайт памяти + добавляет прилично работы PHP (сразу напишу что при использовании написанного ниже решения потребление памяти на уровне 4-5 мегабайт)

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

Наносим водяной знак при загрузке изображений

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

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

[REVO] Пробуем Collections и GridClassKey: редактирование страниц MODx в табличной форме

В своих поисках средства уйти хотя бы не на долго от дерева ресурсов MODx к привычному табличному редактированию, я уже попробовал MIGXdb и Grid Editor.

Спасибо Pathologic, за наводку, попробуем еще и Collections.

Как написано тут: github.com/modxcms/Collections, Collections добавляет пользовательский класс ресурсов CollectionContainer со следующим поведением:
  • Дочерние ресурсы будут спрятаны из дерева и будут отображаться в виде сетки.
  • Дочерние ресурсы у которых в свою очередь тоже есть «дети», будут показаны в дереве.

Ставится без проблем, смотрим. Выбираем какой-то ресурс в котором есть дочерние ставим ему класс CollectionContainer.



Вот что получается



Довольно удобно. Похоже на GridEditor больше чем на MIGx.

Еще на страничке Collections я увидел такое:

@Goldsky недавно выпустила экстра называемый «GridClassKey», который делает подобные вещи

Попробуем его тоже.

На сейчас он 1.0 beta 3. Ставится вроде без проблем.

После установки появляется новый класс ресурса:



Со старту не получилось ничего путного:



Редактирование вызывает ошибку.

Что еще меня немного напрягло, так это то что после возвращения класса в Document обратно, дочерние ресурсы так и не появились в дереве…



Видимо баг текущей версии.

Больше я возиться с ней не стал, думаю хватит на сегодня.

[REVO] MIGXdb grid view - еще одна альтернатива дереву ресурсов

Я уже описал Grid Editor — один из компонентов позволяющих отказаться от дерева ресурсов в MODx, теперь хочу рассмотреть еще один вариант — использование MIGXdb для этих же целей.

Сейчас буду его ставить и попутно документировать что получилось. За основу беру туторы c офсайта.

Для начала настраиваем MIGXdb как описано тут.

Дальше всё по тутору:
1. Заводим конфигурацию MIGXdb для наших дочерних ресурсов
2. Делаем TV которая будет использоваться для отображения

Что получилось?

Заходя в ресурс вижу такое

MIGXdb grid view

Жмем, вижу такое:



Редактирование ресурсов: две вкладочки — на одной поля на другой контент



Похоже всё это настраивается в конфигурации:



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

[EVO] Онлайн радио в админке

Собственно, натолкнул на мысль один из комментариев. А почему бы и не добавить в админке музыки? Да, согласен, можно включить музыку просто в компьютере и нет никакого смысла в таком «новшестве». Поэтому топик и попал в эксперименты, а не в, упаси боже, готовые решения. Хотя, лично мне понравилось и уже стало непривычно, когда входишь в админку, а музыки почему-то нет :)

Любителям музыки и любителям заграмождать админку ненужным мусором, посвящается ))

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