Помогите разобраться, как получить название родительской категории не как id, а как "название"
        Добрый день! Помогите, пожалуйста, сделал сниппет для получения массива ключей и их значений, все работает кроме одного никак не могу получить значение 'categories' в виде названия, как ни пробовал получаю id 'parent' подскажите как получить название. Вот сниппет:
    
    
                                                                                
            <?php
$values[] = iconv('CP1251', 'UTF-8', $value);
$products = $modx->getCollection('modResource', array('class_key' => 'msProduct'));    
foreach($products as $product)
    {
    $value = 
    [
        $categories = $product->get('parent'),
        $pagetitle = $product->get('pagetitle'),
        $description = $product->get('description'),
        $price = $product->get('price'),
        $image = $product->get('image'),
        $popular = $product->get('popular'),
        $published= $product->get('published')
    ];
    $array = array($values);
    
    $site_url = MODX_SITE_URL;
    
    if ($popular > 0) {
        $a = "да";
        } else {
        $a = "нет";
        }
    if ($published > 0) {
        $b = "да";
        } else {
        $b = "нет";
        }
    $key = array(
    'categories'=>$categories,
    'pagetitle'=>$pagetitle,
    'description'=>$description,
    'price'=>$price,
    'image'=>$site_url.$image,
    'popular'=>$a,
    'published'=>$b
    );
    
print_r ($key);
}    Комментарии: 8
$categories = $product->get('parent'),
$categories = $product->get('pagetitle'),попробуй вот так            
                Спасибо, не помогло… Сниппет выводит вместо названия категории — название продукта, а нужно чтобы выводило название родительской категории в которой он размещен, так как я написал сниппет выводится id родительской категории а нужно название (извините не знаю как она правильно называется, поле называется 'parent').            
                    
                вот            
                    
                В паренте хранится id рродительской категории, а не название. Наверное, вот так. 
$categories = $modx->getObject('modResource', $product->get('parent'));
return $categories->get('pagetitle');
                    $categories = $modx->getObject('modResource', $product->get('parent'));
return $categories->get('pagetitle');
                Спасибо, не помогло, выводит просто название продукта            
                    
                Попробуйте вставить id категории вместо $product->get('parent') и посмотреть что произойдет. Вот такой небольшой сниппет у меня работает
            
                    <?php
$pdo = $modx->getService('pdoFetch');
if ($products = $pdo->getCollection('modResource', array('class_key' => 'msProduct'))) {
	foreach($products as $product)
    {
        $categories = $modx->getObject('modResource', $product['parent']);
        print_r ('
название ресурса = '.$product['pagetitle'].', а название родителя = '.$categories->get('pagetitle')); 
    }
}
            
                Спасибо выводит, сейчас попробую добавить остальное            
                    
                Спасибо ElenaLelo! Это немного другой вариант все выводит подсказал Павел Романов в оригинале выглядит так
но у меня проблемы с восприятием русской кирилицы, поэтому работает вот так, если вдруг где то понадобится:
                    $products = $modx->getCollection('modResource', array('class_key' => 'msProduct'));    
foreach($products as $product){
    $product->get('popular') == 1 ? $a = "да" : $a = "нет";
    $product->get('published') == 1 ? $b = "да" : $b = "нет";
    if($cat = $modx->getObject('modResource', $product->get('parent'))) $cattitle = $cat->get('pagetitle');
    $key = array(
        'categories' => iconv('CP1251', 'UTF-8', $cattitle),
        'pagetitle' => iconv('CP1251', 'UTF-8', $product->get('pagetitle')),
        'description' => iconv('CP1251', 'UTF-8', $product->get('description')),
        'price' => $product->get('price'),
        'image' => MODX_SITE_URL . $product->get('image'),
        'popular'=>$a,
        'published'=>$b
    );
    print_r ($key);
}:но у меня проблемы с восприятием русской кирилицы, поэтому работает вот так, если вдруг где то понадобится:
<?php
$values[] = iconv('CP1251', 'UTF-8', $value);
$products = $modx->getCollection('modResource', array('class_key' => 'msProduct'));    
foreach($products as $product){
    $product->get('popular') == 1 ? $a = "да" : $a = "нет";
    $product->get('published') == 1 ? $b = "да" : $b = "нет";
    if($cat = $modx->getObject('modResource', $product->get('parent'))) $cattitle = $cat->get('pagetitle');
    $key = array(
        'categories' => $cattitle,
        'pagetitle' => $product->get('pagetitle'),
        'description' => $product->get('description'),
        'price' => $product->get('price'),
        'image' => MODX_SITE_URL . $product->get('image'),
        'popular'=>$a,
        'published'=>$b
    );
    print_r ($key);
}еще раз огромное спасибо!!!            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.