diff options
author | Thomas Lange <code@nerdmind.de> | 2022-03-14 11:32:08 +0100 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2022-03-14 11:32:08 +0100 |
commit | b22c33b97305d3c264f32b1fe357886aa149e19f (patch) | |
tree | 838a3f2e03308a77551adb49bb1ec4d662a6e505 | |
parent | 4b0b1c405c5dd242fdef37930502dd4341222c3d (diff) | |
download | blog-b22c33b97305d3c264f32b1fe357886aa149e19f.tar.gz blog-b22c33b97305d3c264f32b1fe357886aa149e19f.tar.xz blog-b22c33b97305d3c264f32b1fe357886aa149e19f.zip |
Include category data in feed item template
Include the category data and the category tree data in the feed item
template in the same way as on the post's "main" or "item" template.
So in the feed item template, the available parameters are now:
$POST (already existed before)
$USER (already existed before)
$CATEGORY (added with this commit)
$CATEGORIES (added with this commit)
See the template documentation in the wiki for more information.
-rw-r--r-- | core/include/feed/main.php | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/include/feed/main.php b/core/include/feed/main.php index 9f1e4d4..2e05518 100644 --- a/core/include/feed/main.php +++ b/core/include/feed/main.php @@ -7,6 +7,7 @@ HTTP::responseHeader(HTTP::HEADER_CONTENT_TYPE, HTTP::CONTENT_TYPE_XML); #=============================================================================== # Get repositories #=============================================================================== +$CategoryRepository = Application::getRepository('Category'); $PostRepository = Application::getRepository('Post'); $UserRepository = Application::getRepository('User'); @@ -34,8 +35,24 @@ foreach($posts as $Post) { $post_data = generateItemTemplateData($Post); $post_data['GUID'] = sha1($Post->getID().$Post->get('time_insert')); + #=============================================================================== + # Generate category template data (including parents) + #=============================================================================== + foreach($CategoryRepository->findWithParents($Post->get('category')) as $Category) { + $category_list[] = generateItemTemplateData($Category); + } + + #=============================================================================== + # Define data variable for current category + #=============================================================================== + if(isset($category_list)) { + $category_data = $category_list[array_key_last($category_list)]; + } + $ItemTemplate->set('POST', $post_data); $ItemTemplate->set('USER', generateItemTemplateData($User)); + $ItemTemplate->set('CATEGORY', $category_data ?? []); + $ItemTemplate->set('CATEGORIES', $category_list ?? []); $templates[] = $ItemTemplate; } |