Как определить переменную page_url массиве ленты RSS? 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 272
Здравствуйте, имею свой компонент согласно документации создал файл rss_feed_list.php
Лента RSS выводит title, description, date_pub нормально.
Но не могу победить ошибку вывода ссылки на элемент:
Код PHP:
  1. <link><br /><b>Notice</b>: Undefined index: page_url in <b>.../templates/default/controllers/rss/feed.tpl.php</b> on line <b>42</b><br /></link>
  2. <guid><br /><b>Notice</b>: Undefined index: page_url in <b>.../templates/default/controllers/rss/feed.tpl.php</b> on line <b>43</b></guid>
Немного не понимаю как и где определить переменную page_url
Заранее благодарю.
Редактировалось: 2 раз (Последний: 31 января 2019 в 23:33)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3545
Для примера https://github.com/instantsoft/icms2/blob/master/system/controllers/content/hooks/rss_feed_list.php#L35
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 272

В моем случае я сделал так:
Код PHP:
  1. $feed['items'] = $this->model->getMycomponentItems($feed['ctype_name'], function ($item, $model, $ctype_name){
  2.  
  3. $item['page_url'] = href_to_abs($ctype_name, 'item', $id);
  4.  
  5. return $item;
  6.  
  7. });
Пробовал и так
Код PHP:
  1. $item['page_url'] = href_to_abs($ctype_name, $item['id']);
Но увы, получаю предупреждение, может в других файлах что-то нужно указать?
Редактировалось: 3 раз (Последний: 1 февраля 2019 в 12:15)
Посетитель
small user social cms
Медаль
Сообщений: 272
Так и не удалось решить самостоятельно.
Без помощи не обойтись. Что-то упускаю.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3545
Попробуйте для начала передать статику
Код PHP:
  1. $item['page_url'] = '123456';
Потом можно попробовать переместить ваш хук выше системного, в "Админка - Компоненты - Управление событиями". Надеюсь ваш хук присутствует в этом списке.
Посетитель
small user social cms
Медаль
Сообщений: 272
Loadырь:

Попробуйте для начала передать статику
Код PHP:
  1. $item['page_url'] = '123456';
Потом можно попробовать переместить ваш хук выше системного, в "Админка - Компоненты - Управление событиями". Надеюсь ваш хук присутствует в этом списке.

Спасибо, за совет.
Событие указал в манифесте и обновил список событий.
на
Код PHP:
  1. $item['page_url'] = '123456';
- предупреждение осталось
Посетитель
small user social cms
Медаль
Сообщений: 272
Вот все содержание файла.
Код PHP:
  1. <?php
  2.  
  3. class onMycomponentRssFeedList extends cmsAction {
  4.  
  5. public function run($feed){
  6.  
  7.  
  8. $category = $author = array();
  9.  
  10.  
  11. $this->model->orderBy('date_pub', 'desc')->
  12. limit($feed['limit']);
  13.  
  14.  
  15.  
  16.  
  17. $feed['items'] = $this->model->getMcItems($feed['ctype_name'], function ($item, $model, $ctype_name){
  18.  
  19. $item['page_url'] = href_to_abs($ctype_name, $item['slug'].'.html');
  20. /*$item['comments_url'] = $item['page_url'].'#comments';*/
  21.  
  22.  
  23. return $item;
  24.  
  25. });
  26.  
  27. $feed = cmsEventsManager::hook('before_render_'.$feed['ctype_name'].'_feed_list', $feed);
  28.  
  29. return array($feed, $category, $author);
  30.  
  31. }
  32.  
  33. }
  34.  
Редактировалось: 1 раз (Последний: 2 февраля 2019 в 09:46)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3545
Сделайте так
Код PHP:
  1. $feed['items'] = $this->model->getMcItems($feed['ctype_name'], function ($item){
  2.  
  3. $item['page_url'] = '123456';
  4.  
  5.  
  6. return $item;
  7.  
  8. });
  9. dump($feed);
  10.  
и посмотрите в массиве будет присутствовать page_url или нет.
Посетитель
small user social cms
Медаль
Сообщений: 272
Loadырь:

Сделайте так
Код PHP:
  1. $feed['items'] = $this->model->getMcItems($feed['ctype_name'], function ($item){
  2.  
  3. $item['page_url'] = '123456';
  4.  
  5.  
  6. return $item;
  7.  
  8. });
  9. dump($feed);
  10.  
и посмотрите в массиве будет присутствовать page_url или нет.

Отсутствует.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3545
А $feed['items'] вообще не пустой? Скрин дампа можете показать? можно в личке.
Посетитель
small user social cms
Медаль
Сообщений: 272
Loadырь:

А $feed['items'] вообще не пустой? Скрин дампа можете показать? можно в личке.

скинул в личку, не пустой. выводит поля. Но page_url нет
Редактировалось: 1 раз (Последний: 2 февраля 2019 в 10:57)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3545
А ну так ваш $this->model->getMcItems() не поддерживает вызов функции. Вам надо в файле модели, там где вы получаете список через getMcItems(), там надо делать
Код PHP:
  1. return $this->get($ctype_name, function ($item){
  2. $item['page_url'] = '123456';
  3. return $item;
  4. });
Редактировалось: 1 раз (Последний: 2 февраля 2019 в 11:19)
Посетитель
small user social cms
Медаль
Сообщений: 272
Спасибо
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: