Требуется помощь с Fenom

Ребят подскажите в чем ошибка, пока только пытаюсь разобраться, учусь.

Есть такой код:

{var $kp = $_modx->user.extended.Компрессора.kompressor}

{var $resources = $_modx->getResources(
 ['pagetitle'=>$kp, 'published' => 1, 'deleted' => 0],
 ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 50]
)}
{foreach $resources as $resource}
{$_modx->getChunk('@INLINE <p>{$id} {$pagetitle}</p>', $resource)}
{/foreach}
Почему когда указываю
{$_modx->user.extended.Компрессора.kompressor}
он выдает сразу значение массива — поля юзера kompressor,

Но когда записываю в переменную и пытаюсь вывести через принт р, он выводи название и id. Соответственно в «выборке»:

{var $resources = $_modx->getResources(
 ['pagetitle'=>, 'published' => 1, 'deleted' => 0],
 ['sortby' => 'id', 'sortdir' => 'ASC', 'limit' => 50]
)}


если указать
'pagetitle'=>" Какое то название"
, то отрабатывает отлично, и в итоге после отработки

{foreach $resources as $resource}
{$_modx->getChunk('@INLINE <p>{$id} {$pagetitle}</p>', $resource)}
{/foreach}


выводит ID и название… с подстановкой переменной, он как бы ее не видит.

Сильно не ругайтесь, если вопрос слишком «глупый».
Андрей Перевезенцев
31 января 2019, 14:45
modx.pro
768
-1

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

Наумов Алексей
31 января 2019, 14:54
+2
Что это вообще за?
{foreach $resources as $resource}
{$_modx->getChunk('@INLINE {$id} {$pagetitle}', $resource)}
{/foreach}
Чем не устраивает
{foreach $resources as $resource}
{$resource['id']} {$resource['pagetitle']}
{/foreach}
    Андрей Перевезенцев
    31 января 2019, 15:00
    -1
    Пример взял за основу с документации. В вашем случае, вообще ничего не отрабатывает… Просто белый экран.
    Но вопрос был в другом.
      Наумов Алексей
      31 января 2019, 15:04
      0
      Вопрос настолько сложно составлен, плохо оформлен, что мне вот совсем не хочется тратить свое время разбираться в нем.
        Андрей Перевезенцев
        31 января 2019, 15:38
        0
        Вопрос был в том, почему когда обращаешься: {$_modx->user.extended.Компрессора.kompressor} — выдает значение из массива, а в переменную таким способом: {var $kp = $_modx->user.extended.Компрессора.kompressor} не записывает.
          Наумов Алексей
          31 января 2019, 16:02
          +1
          Данный код что выводит?
          {var $kp = $_modx->user.extended.Компрессора.kompressor}
          {$kp}
            Андрей Перевезенцев
            31 января 2019, 16:08
            0
            Значение поля, как и нужно…
              Наумов Алексей
              01 февраля 2019, 09:21
              0
              Я бы в сниппет всю логику убрал…
              Будет красивее и правильнее, нечего логике в разметке делать.

              если не считать возможных опечаток, то как-то так:
              $profile = $modx->user->getOne('Profile');
              $extended = $profile->get('extended');
              // здесь нужно посмотреть, $extended это уже массив?
              $kp = $extended['ваш ключ'];
              
              // получаем товар, если их несколько, то getCollection и цикл
              // или msProducts вместо modResource
              $product = $modx->getObject('modResource', array('pagetitle' => $kp, 'published' => 1, 'deleted' => 0));
              $data = $product->get('ваше поле');
              // или все поля
              $data = $product->toArray();
              
              $modx->getChunk('ЧАНК с разметкой', $data);
              Андрей Перевезенцев
              31 января 2019, 16:27
              0
              задумка такая:
              Есть некое поле в user, под названием kompressor, на странице личного кабинета пользователя, дополнения office нужно выводить соответствующие поля из каталога продукции, с сравнением по названию.
              Иначе говоря, если в поле пользователя указана 2323 то из определенной категории каталога ищем продукт под названием 2323 и выводим все его характеристики в нужном стиле.
      Баха Волков
      31 января 2019, 17:47
      0
      Андрей, убедительная просьба оборачивать код в тег code.

      Уважайте людей которые потенциально хотят вам помочь.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      10