Перебор и изменение значений из modResource

Здравствуйте. Подскажите пожалуйста. Есть множество карточек товаров modResource, в полях introtext у них вписаны краткие характеристики и разделены они по ";". Сейчас есть необходимость взять каждую характеристику в теги
<li></li>
. Возможно напрямую обратится к базе данных, прогнать код через скрипт и записать обратно? Я новичке в php, а тем более в api modx. Не подскажите как правильно получить значения из базы, по полю template, пройтись по выборке циклом и записать обратно? Возможно кто-нибудь поделится наводящими ссылками
UPD.
Вроде получил необходимые ресурсы
$q = $modx->newQuery('modResource');
$res = $q->where(array('template' => "3"));
Теперь задача получить и изменить поля «introtext»
Dolce
24 марта 2018, 14:36
modx.pro
1 193
0

Комментарии: 3

Михаил
24 марта 2018, 19:05
0
$q = $modx->newQuery('modResource');
$q->where(array('template' => "3"));

$products = $modx->getIterator('modResource', $q);
foreach($products as $product){
	$product->get('introtext');
}
    Dolce
    02 апреля 2018, 15:04
    0
    Спасибо
    Dolce
    02 апреля 2018, 15:05
    0
    Реализовал так, на своем примере:
    <?
    if(!$docs = $modx->getCollection('modResource', array(
        'template' => 3
        
        
    ))){return;}
    
    foreach($docs as $doc){
        $introtext = $doc->get('introtext');
        $introtext = str_replace("; ", ";</li><li>", $introtext);    
    	$introtext = "<li>" . $introtext . "</li>";    
        $doc->set('introtext',$introtext);
        $doc->save();
    }
    А для ТВ, чуть по другому:
    <?
    if(!$docs = $modx->getCollection('modResource', array(
        'template' => 3
        
        
        
    ))){return;}
    
    
    foreach($docs as $doc){
        $ch = $doc->getTVValue('characteristics');
        $ch = preg_replace('/<tr([^>]*)>/', '<tr class="table__row">', $ch); //мои манипуляции с полем
        $ch = preg_replace('/<td([^>]*)>/', '<td class="table__cell">', $ch); //мои манипуляции с полем
        //echo $ch;
        $doc->setTVValue('characteristics', $ch);
        $doc->save();
    }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3