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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
09 августа 2015, 08:11
+1
Проблема в том, что ContentBlocks использует свой вариант Ace для полей с кодом, но при этом проверяет наличие уже установленного Ace и пытается использовать его скрипты, если есть.

Соответственно, после обновления редактора, ContentBlocks работает с ним неправильно. Это можно исправить, закомментировав проверку в файле /core/components/contentblocks/elements/inputs/codeinput.class.php
//if (!$aceIsInstalled || !$aceIsUsed) {
            $js[] = $this->contentBlocks->config['assetsUrl'] . 'js/vendor/9cloud/ace/ace.js';
        //}
Тогда CB будет всегда подгружать свой вариант Ace и нормально с ним работать.

Ну а я в версии 1.6.2-pl сделал загрузку файлов редактора через плагин только в том случае, если Ace действительно используется на странице, а не просто включен в настройках.

Написал об этом Марку Хамстре, может он сразу отключит свою проверку в codeinput.class.php.
Василий Наумкин
09 августа 2015, 06:19
0
Шли сообщение с доступами через мой профиль — попробую разобраться.
Василий Наумкин
09 августа 2015, 05:39
0
У меня нет ContentBlocks, так что извини — проверить негде.
Василий Наумкин
08 августа 2015, 20:18
0
Зачем на кнопку-то добавлять? Можно же просто при загрузке страницы один раз это указать и всё.
Василий Наумкин
08 августа 2015, 16:49
0
Поиск в mSearch2 заточен под работу с ресурсами.
Василий Наумкин
08 августа 2015, 14:34
+1
Ага, тупишь.

Нажми Ctrl+F находясь в окошке редактора, а не в произвольном месте браузера.
Василий Наумкин
08 августа 2015, 14:01
0
Всем у кого не работает пробел — отключите системную настройку compress_js и почистите кэш. Какая-то проблема с загрузкой extensions.

Сейчас готовлю исправление.
Василий Наумкин
08 августа 2015, 12:34
0
Ну, у меня такого нет. Возможно, это от Codemirror остаются какие-то невидимые символы и мешают работе Ace. А может, на странице еще остались какие-то скрипты от старого редактора, и они мешаются.

Можно попробовать скопировать всё в блокнот, а потом вернуть обратно и посмотреть, что получится. Еще можно сделать новый сайт на modhost.pro и погонять редактор там.
Василий Наумкин
08 августа 2015, 12:23
0
Отдельное окошко было в самом начале, потом Данил решил, что правильнее использовать родной плагин Ace для этого дела. Я с ним полностью согласен.

А улучшение, как минимум, в том, что есть кнопка all при поиске, которая выделяет все совпадения и позволяет их сразу заменить при помощи мультикурсора:

Ну и замена через all, вроде, начала с первого раза работать (раньше, бывало, что пока не заменишь что-то один раз, all не срабатывал).
Василий Наумкин
08 августа 2015, 12:19
0
Там в настройках есть смена режима табуляции — попробуй поменять.
Василий Наумкин
08 августа 2015, 05:26
0
Если установлен Tickets — нужно обновить и его.
Василий Наумкин
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, ненужные пустые строки в комментарии выглядят неопрятно.