Дмитрий Кондаков

Дмитрий Кондаков

С нами с 28 февраля 2013; Место в рейтинге пользователей: #234
Михаил
07 декабря 2018, 07:10
2
0
1.
#<a.*>.*</a>#USi
2.
/\<script.*?\<\/script\>/
3. и 4
#<div>.*?</div>#s
ну а дальше можно погуглить

Тут можно тестировать регулярки перед работой
Олег
13 октября 2018, 19:20
1
+1
Проблему помогли решить на Гитхабе данного компонента. Оказывается, переключение контекста в системе должно срабатывать РАНЬШЕ, чем событие, к которому привязан ClientConfig (OnMODXInit). У меня переключение контекста срабатывает самописным плагином для Бабела в событии OnHandleRequest, которое идёт после OnMODXInit. Соответственно, для нормальной работы компонента с контекстами, мне нужно было сделать переключение контекстов на событии OnMODXInit, а для плагина ClientConfig на этом же событии выставить приоритет 1, вместо 0. Надеюсь, никакие косяки после таких манипуляций не вылезут…
Андрей Степаненко
23 августа 2018, 12:19
1
+2
Допилил на конце то приложение для проверки файлов:
scannermodx
Prihod
20 августа 2018, 21:39
2
+1
Код плагина который отменяет у товара публикацию если он не попал в файл импорта

<?php
/** @var modX $modx */
switch ($modx->event->name) {
    case 'msieOnCompleteImportProduct':
        // Массив ID   настроек полей для которых нужно использовать данный плагин http://prntscr.com/kkwx4r
        $presets = array();

        if (!in_array($preset, $presets)) return;

        // Получаем id всех товаров которые были импортированы
        if (!$ids = $modx->event->params['data']) return;

        // Снимаем с публикации товары которые не попали в файл импорта
        $sql = "UPDATE {$modx->getTableName('msProduct')} SET published = 0 WHERE context_key = 'msProduct'  AND  id NOT IN ({$ids});";

        // $sql = "UPDATE {$modx->getTableName('msProductData')} SET my_custom_field = 0 WHERE id  NOT IN ({$ids});";
        $modx->exec($sql);

        break;
}
Raimei
08 августа 2018, 14:08
1
0
SecureCRT — лучшее решение для SSH. Ничего более удобного не пробовал юзать.
Виталий Батушев
08 августа 2018, 08:15
1
0
Xshell — лучшее, что есть. Жаль, что они его не делают мультиплатформенным. А, может, и не сильно жаль :)
Баха Волков
31 июля 2018, 15:43
3
+1
{var $table = $_modx->resource.название_тв | fromJSON}
<table>
  <thead>
	<tr>
	  {foreach $table[0] as $th}
	  <th>
		{$th}
	  </th>
	  {/foreach}
	</tr>
  </thead>
  <tbody>
	{foreach $table as $tr}
	{if !$tr@first}
	<tr>
	  {foreach $tr as $td}
	  <td>
		{$td}
	  </td>
	  {/foreach}
	</tr>
	{/if}
	{/foreach}
  </tbody>
</table>
Pavel Zarubin
22 апреля 2018, 05:49
2
+14
P.s. всегда когда подходите к расширеню разметки extjs но не знаете куда добавить те или иные поля в какую — то вкладку, просто распечатайте объект field и уже в консоле разбирайтесь что куда
console.log(this.fields);
Там достаточно все очевидно, для того, чтобы понять человеку который только-только начал постигать js
Алекс Назаренко
14 ноября 2017, 21:39
1
+3
Всем спасибо!
Нашел. Все дело было в таблице ms2_product_categories. В ней хранятся айди товаров, которые были перемещены из одной категории товаров в другую в админке. Если есть хотя бы одна запись в этой таблице, то админка тормозит. Если почистить, то все снова быстро работает.
Володя
12 ноября 2017, 19:40
6
+4
— создаем настройку в медиасорс hideSource булево. Задаем в да.
— плагин на OnMediaSourceGetProperties
$properties = json_decode($properties, true);
if (!empty($properties['hideSource']) AND !empty($properties['hideSource']['value']) AND $_REQUEST['node'] == '/') {
    die('{}');
}
все.

ps. посмотрев в $_REQUEST можно увидеть переменные и продумать скрытие в дереве, в окне и тд…
как фантазия ваша разыграется.