Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
08 августа 2015, 05:25
+2
Постараюсь реализовать в ближайшее время.
Василий Наумкин
07 августа 2015, 17:26
+1
Попробуй обновлённую версию.

Подсветка пропадает только при включенном AjaxManager — без него всё ок.
Василий Наумкин
07 августа 2015, 16:28
+1
То есть, ты сам понять, что написано в логе — не способен?
open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/kabudasay/data:.)
Василий Наумкин
07 августа 2015, 12:53
2
+6
Проверил на скорую руку, вроде работает:
1. Берем файл для Smarty.
2. Загружаем его на сервер как /assets/components/ace/ace/mode-smarty.js
3. В файле /assets/components/ace/modx.texteditor.js на 7й строке меняем mode c text на smarty.
4. Хорошенько чистим кэш браузера

Результат:
Василий Наумкин
07 августа 2015, 12:16
1
0
хотя они соответствуют условию фильтра,
Если речь о значении ТВ «по умолчанию» — то их нет в БД физически, так что pdoResources их не выберет.

А в остальном должно всё работать.
Василий Наумкин
07 августа 2015, 10:05
0
Может там и лежит грамотный кусок SQL, только написан он неграмотно. Посмотри на скобки и кавычки в моём примере — там одномерный JSON массив со строкой внутри.

У тебя — просто строка со скобочками, которая вовсе не раскодируется как JSON. Верный код:
$where = "TVfo LIKE '%Южный%' AND (TVclient_activity LIKE '%Физ.охрана%' OR TVclient_activity LIKE '%Пультовая охрана%'";

$output .= $modx->runSnippet('pdoResources',array(
   'includeTVs' => $includeTVs,
   'where' => $modx->toJSON(array($where)),
));

И если я ничего не путаю, то при вызове из PHP можно вообще не париться с JSON, а указывать просто массив вот так:
$output .= $modx->runSnippet('pdoResources',array(
   'includeTVs' => $includeTVs,
   'where' => array($where),
));
Но не факт — нужно проверять.
Василий Наумкин
07 августа 2015, 06:19
1
0
&where=`{
	"color:LIKE":"%black%",
	"OR:color:LIKE":%gray%"
}`
И вот еще один OR:color:LIKE тут добавить не выйдёт — потому что одинаковых ключей в массиве быть не может.

Но можно указывать строки:
&where=`["
	color LIKE '%black%' OR color LIKE '%gray%' OR color LIKE '%white%'
"]`
Подробнее про синтаксис where можно прочитать в официальной документации.

И очень тебя прошу — почини свой enter, ненужные пустые строки в комментарии выглядят неопрятно.
Василий Наумкин
07 августа 2015, 05:24
4
+3
В pdoResources задача решается несколько иначе:
[[!pdoResources?
	&includeTVs=`manuf,diag,color`
	&where=`{
		"manuf":"Sony",
		"diag:IN":[65,85],
		"color:IN":["black","gray"]
	}`
]]
В принципе, там есть и &tvFilters, но только как временная замена при миграции c getResources. Пользоваться этим параметром я никому не советую — &where гораздо гибче, лучше и удобнее.

Вот здесь кратко написано, а вот здесь значительно подробнее.
Василий Наумкин
06 августа 2015, 19:42
0
Похоже, какой-то кривой импорт, который каждый раз генерирует новые имена для файлов картинок.

У галереи MS2 есть настройка, как ей генерировать имена файлов — случайно или по имени исходного файла. Плюс, она проверяет контент картинок на дубликаты при загрузке.

В общем, не должно такого быть
огромное кол-во превью одинаковых размеров с разными названиями
Василий Наумкин
06 августа 2015, 16:26
0
Если устраивает — то вопросов больше нет.

Мне, в своё время, скорость работы getResources показалась неприемлимой.
Василий Наумкин
06 августа 2015, 14:50
0
Таким нехитрым способом гораздо проще реализовывать сложные фильтры, наподобие таких, как реализованы на сайтах Евросети и Эльдорадо
Через getResources?

За сколько у тебя грузится страница с результатами такой фильтрации?
Василий Наумкин
06 августа 2015, 13:28
0
Путь ко временной директории немного странный — с двойным слешем.
/var/www/u8689516/data/www/site.com//tmp/ms_csQY72
Через это, полагаю, файл не может быть создан при загрузке, а потом из него не могут быть сделаны превью.
[29] => $this->gdimg_source is still empty in file "phpthumb.class.php" on line 3726
[30] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3728
still empty — это «всё еще пустой».
Василий Наумкин
06 августа 2015, 07:37
0
Говорят, что это вообще баг старой версии PHP.

У нас на хостинге Ubuntu 14.04.3 LTS x64 с PHP 5.5 и такой проблемы нет.
Василий Наумкин
06 августа 2015, 05:31
0
Видимо у сниппета getSEOPanel прописан параметр по умолчанию sortby = name — вот он и пытается сортировать по колонке, которой нет.
Василий Наумкин
06 августа 2015, 05:29
0
Советую оформить issue в репозитории MODX. Можно даже сразу pull request с исправлением.
Василий Наумкин
02 августа 2015, 07:35
+1
Вот готовая утилита, но можно написать и свой собственный плагин на публикацию тикета.

Но лично мне нравится твиттить самостоятельно — просто больше возможностей. Да и читателем ленты, по моему, приятнее читать разные сообщения живого человека, а не одинаковые от робота.
Василий Наумкин
01 августа 2015, 21:08
+3
можно найти недорогого англоязычного менеджера
До сих пор, что-то, не нашли. За англоговорящего индуса я и сам смогу, наверное, прокатить.
Василий Наумкин
01 августа 2015, 21:07
+2
Объём работы по переводам еще более значителен.

Если что — я не переводчик, а здесь явно нужен специалист. Желательно, native speaker, разбирающийся в MODX — и где ж его взять?

Прям стартап вырисовывается, по переводу разработок сообщества СНГ на английский с последующей продажей, ха-ха!

Есть желающие освоить такой ёмкий рынок?