Владимир

Владимир

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

pdoResource - проблема с NULL в &where=``

Василий, привет!

Нужны мне вот такие условия в запросе:
SELECT <...>
WHERE  `modResource`.`parent` IN (103,104,105,107,106,108,109,110,115,120)  AND (`TVshow_in_main`.`value` != 1 OR `TVshow_in_main`.`value` IS NULL)
Вызываю вот так:
[[pdoResources?
	&tpl=`tpl.article.preview`
	&parents=`103`
	&includeTVs=`show_in_main`
	&where=`[{"show_in_main:!=": "1", "OR:show_in_main:IS": "NULL"]}`
	&tvPrefix=``
	&showLog=`1`
]]
pdoResource всё отлично джойнит и работает как надо, но…
Алексей Карташов
24 августа 2013, 12:31
modx.pro
2
6 567
0

Как проверять TV-поля одновр. и на '', и на NULL

Для определённости рассмотрим функционал сниппета pdoResources.
Проблема заключается в том, что классическим форматом JSONxPDO в параметре &where в общем случае невозможно указать проверку значения некоторого TV-поля одновременно и на пустое значение, и на NULL. В каких случаях может понадобиться такая проверка — напишу ниже.

Для примера возьмём параметр introtext (в БД modX это поле может принимать значения NULL)
Казалось бы, чего проще:
&where=`{"introtext":"", "OR:introtext:IS":null}`
Но проблема здесь в том, что в конечном запросе перед нашим условием в преобладающем большинстве случаев будут стоять ещё и другие условия, которые де факто будут объединены с нашим условием логикой «AND», причём наше условие в скобки взято не будет. В итоге в конечном запросе мы получим следующее условие:
WHERE (<i>прочие условия</i> AND `modResource`.`introtext` = '' OR `modResource`.`introtext` IS NULL)
Как видим, логика нарушена.
Cyrax_02
09 августа 2013, 16:59
modx.pro
6
5 793
0

Bootstrap Tabs + jQuery AJAX + pdoResources

Некоторое время назад столкнулся с простой задачей: выводить определенный контент с определенных станиц в Bootstrap togglable tabs (вкладки) через jQuery AJAX. Также учитывалась скорость работы. Было много разных решений, но немножко времени и получилось так, как надо было. Естественно, основной компонент — pdoResources, который выводит шапку, то есть имена, пути к контенту и алиасы.
Виктор Долгий
06 августа 2013, 16:54
modx.pro
1
2 301
0

Phpthumb наложение водяного знака

Долго искал эту документацию по наложению ватермарок на изображения.
По-итогу все оказалось просто, документация ниже по ссылке, и выдержка здесь.

Мой пример: (Ватермарка по центру изображения)

Настройки источника файлов, параметр thumbnails
{"w":500,"h":378,"q":95,"zc":"1","bg":"000000","fltr":"wmt|текст-ватермарки|20|C|48a4a5|Ubuntu-R.ttf|90|20|5||0|"}
wmt|текст|размер-шрифта|выравнивание|цвет|шрифт|прозрачность|отступ|поворот|цвет-фона|прозрачность-фона|направление
Игорь Зябко
29 июля 2013, 07:07
modx.pro
13
19 216
0

Правильный хостинг для MODX Revolution

Топик рассказывает о настройке быстрого и недорогого хостинга для MODx Revolution. В принципе, вещи тут описаны общие, так что информация подойдет для любой CMS.

На всякий случай, приложу видео, как должна работать админка MODx Revo.

Для быстрой и комфортной работы желательно:
— Быстрый браузер — Google Chrome. Админка Revo работает в нем молниеносно
— Хороший интернет-канал. Тут без вариантов, нужно всем и всегда.
— Качественный хостинг — про него и пишу.

В итоге у меня вообще получились скрипты автоматической установки для серверов, настроенных по этой статье. И даже видео-инструкция.
Василий Наумкин
11 марта 2013, 01:34
modx.pro
14
29 914
0

Правильный хостинг для MODX Revolution 2

Предлагаю вашему вниманию вторую версию инструкции по созданию собственного хостинга для сайтов на MODX Revolution и не только.

На сей раз я заснял и смонтировал видео всего процесса, постарался от души. Можно скачать в ультра-мега качестве (FullHD 1920x1080x25, 785mb).



В комплекте идёт текстовое описание основных этапов с кусками кода для копипастинга.
Василий Наумкин
08 февраля 2013, 20:54
modx.pro
29
52 021
0

Работа с phpThumb


Не многие задумывались, что вместе с MODX Revolution поставляется и phpThumb. Это, фактически, единственная и самая крутая библиотека для работы с изображениями на PHP.

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

При разработке "Файлохранилища" мне пришлось покопаться в том, как устроен phpThumb и как он интегрирован в MODX, в результате чего появился универсальный рецепт использования этой библиотеки для генерации изображений.

Заодно решил известную проблему с генерацией уменьшенной копии, с обрезкой из левой верхней части картинки.
Василий Наумкин
27 января 2013, 07:00
modx.pro
25
29 190
0

Открытие внешних ссылок в новом окне

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

Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.

Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Василий Наумкин
04 декабря 2012, 07:13
modx.pro
10
8 135
0

Работа с кэшерами в Revolution

Не все знают, что MODX Revolution умеет работать с разными системами кэширования, для чего применяет следующие классы:
  • xPDOFileCache — стандартный обработчик по умолчанию, хранит кэш в файлах.
  • cache.xPDOAPCCache — обработчик для расширения php-apc
  • cache.xPDOMemCached — обработчик для memcached. Есть заметка про него
  • cache.xPDOMemCache — обработчик для memcache.
  • cache.xPDOWinCache — обработчик для wincache. Это для windows хостингов, на IIS.
При большом желании, вы можете написать свой обработчик для любого кэшера. Нужно просто расширить класс xPDOCache и описать собственные методы: add, set, replace, delete, get, flush, по образу и подобию одного из этих классов.
Василий Наумкин
15 октября 2012, 16:53
modx.pro
13
21 170
0

Сервер: резервное копирование и выгрузка в Dropbox

Первым делом всегда-всегда-всегда нужно заботиться о резервной копии. Вариантов огромное множество, но лично я написал для себя простой и понятный скрипт для ежесуточного запаковывания данных с любого сервера, в том числе и shared-хостинга.
Василий Наумкин
10 октября 2012, 07:32
modx.pro
20
11 469
0