Сергей

Сергей

С нами с 21 марта 2016; Место в рейтинге пользователей: #808

Массовое редактирование tv

Возникла необходимость отредактировать 4 tv у 50 000 ресурсов.
Пытаюсь через console сделать так:
<?php
$pages = $modx->getIterator('modResource', ['parent:IN' => [8888]]);

foreach ($pages as $p) {
  $alias = $p->getTVValue('tv_name_1');	
  $alias = str_replace('value_1','value_2',$alias);
  $p->setTVValue('tv_name_1', $alias);
  $p->save();
}
Всего у каждого ресурса по 4 таких tv. То есть для каждой родительской категории такой код через console приходится запускать по 4 раза, что является далеко не лучшим решением.
Пробовал вместо
['parent:IN' => [8888]]
использовать
['template:IN' => [8]]
, но ресурсов 50 000 и все зависает.

Может кто-нибудь знает лучший способ редактирования?
Сергей
13 ноября 2019, 18:00
modx.pro
886
0

Ошибка при обновлении Tickets до версии 1.11.2-pl

Всем привет!
При обновлении Tickets до версии 1.11.2-pl процесс зависает на следующей строке:
Attempting to preserve files at /home/s..../www/assets/components/tickets into archive /home/s...../www/core/packages/tickets-1.11.2-pl/modCategory/5a7b215dfdc2f66868840cd23f5cbf47.0.preserved.zip
Attempting to preserve files at /home/s......./www/core/components/tickets into archive /home/s......../www/core/packages/tickets-1.11.2-pl/modCategory/5a7b215dfdc2f66868840cd23f5cbf47.1.preserved.zip
Сергей
09 октября 2019, 19:25
modx.pro
515
0

Как пересохранить ресурсы через Console

Добрый день!
Помогите, пожалуйста, в написании кода для выполнения через Console, так как сам плохо разбираюсь в php.
Есть раздел Tickets, в котором несколько сотен тикетов. У каждого тикета не сформирован alias (не спрашивайте, почему так получилось). Чтобы сформировать чпу alias, приходится каждый тикет сохранять вручную, что занимает длительное время.
Есть ли способ это автоматизировать?
Пробовал сделать так:
<?php
if(!$docs = $modx->getCollection('Ticket', array(
    'parent' => 1212
    
))){return;}

foreach($docs as $doc){
    $content = $doc->get('content');
    $doc->save();
}
но ничего не получилось.
Помогите дописать пару строк, чтобы автоматически формировались alias.
Спасибо!
Сергей
18 февраля 2019, 12:44
modx.pro
1 485
0

xParser, Fenom и регулярные выражения

В связи с появлением такого нужного дополнения, как xParser, у многих могут возникнуть трудности в процессе парсинга. Ведь зачастую из кода приходится удалять много «мусора» в виде ссылок, скриптов и классов.
Поэтому обращаюсь за помощью к опытным программистам, для которых написать регулярное выражение не составляет труда.
Попробую описать несколько типовых ситуаций, в которых лично у меня возникли затруднения с регулярками, а всех, кто может помочь, прошу отписаться в комментариях. Я и многие другие пользователи будут благодарны за такого рода шпаргалку по регуляркам в xParser и Fenom.

1) Как удалить из текста все ссылки?
{$content | preg_replace : 'регулярка для удаления всех ссылок'}
2) Как удалить из текста все скрипты?
{$content | preg_replace : 'регулярка для удаления всех скриптов'}
3) Как удалить из текста все div-ы с содержимым?
{$content | preg_replace : 'регулярка для удаления всех div-ов с содержимым'}
4) Как в тексте заменить все div-ы на p?
{$content | preg_replace : 'регулярка для замены всех div-ов на < p>< /p>'}
Сергей
06 декабря 2018, 22:12
modx.pro
1
1 691
0