1
0
mirror of https://github.com/typemill/typemill.git synced 2025-08-12 09:04:37 +02:00

add pagelist extension for news

This commit is contained in:
trendschau
2023-11-12 22:23:43 +01:00
parent 39bab49d13
commit 65533b3138
3 changed files with 38 additions and 4 deletions

View File

@@ -0,0 +1,35 @@
<?php
namespace Typemill\Extensions;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class TwigPagelistExtension extends AbstractExtension
{
public function getFunctions()
{
return [
new TwigFunction('getPageList', array($this, 'getList' ))
];
}
public function getList($folderContentDetails, $url, $result = NULL)
{
foreach($folderContentDetails as $key => $item)
{
# set item active, needed to move item in navigation
if($item->urlRelWoF === $url)
{
$item->active = true;
$result = $item;
}
elseif($item->elementType === "folder")
{
$result = $this->getList($item->folderContent, $url, $result);
}
}
return $result;
}
}

View File

@@ -34,6 +34,7 @@ use Typemill\Extensions\TwigUserExtension;
use Typemill\Extensions\TwigLanguageExtension;
use Typemill\Extensions\TwigMarkdownExtension;
use Typemill\Extensions\TwigMetaExtension;
use Typemill\Extensions\TwigPagelistExtension;
use Typemill\Extensions\TwigCaptchaExtension;
$timer = [];
@@ -275,6 +276,7 @@ $container->set('view', function() use ($settings, $urlinfo, $translations) {
$twig->addExtension(new TwigLanguageExtension( $translations ));
$twig->addExtension(new TwigMarkdownExtension());
$twig->addExtension(new TwigMetaExtension());
$twig->addExtension(new TwigPagelistExtension());
$twig->addExtension(new TwigCaptchaExtension());
return $twig;