Skip to content
Snippets Groups Projects
Commit c8931e6e authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Ajout d'UnicaenIcon au menu

parent 14803000
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
namespace UnicaenCode\Service;
use Laminas\View\Helper\Url;
use Serializable;
use Laminas\Mvc\MvcEvent;
use UnicaenCode\Service\Traits\ConfigServiceAwareTrait;
......@@ -17,12 +18,20 @@ class CollectorService implements CollectorInterface, Serializable
use ConfigServiceAwareTrait;
const NAME = 'unicaen-code_collector';
const PRIORITY = 150;
protected Url $urlVH;
public function __construct(Url $urlVH)
{
$this->urlVH = $urlVH;
}
public function getViews()
public function getViews(): array
{
$viewDirs = $this->getServiceConfig()->getViewDirs();
$viewFiles = [];
......@@ -37,10 +46,25 @@ class CollectorService implements CollectorInterface, Serializable
foreach ($viewFiles as $viewFile) {
if ($viewFile != '.' && $viewFile != '..') {
if (false !== strrpos($viewFile, '.php')) {
$items[] = substr($viewFile, 0, strrpos($viewFile, '.php'));
$name = substr($viewFile, 0, strrpos($viewFile, '.php'));
$url = $this->urlVH->__invoke('unicaen-code', ['view' => $name]);
$items[$name] = $url;
}
}
}
return $items;
}
public function getItems(): array
{
$items = $this->getViews();
$items['<hr />'] = null;
$items['Icônes Unicaen'] = $this->urlVH->__invoke('icons');
return $items;
}
......@@ -52,6 +76,8 @@ class CollectorService implements CollectorInterface, Serializable
return self::class;
}
/**
* {@inheritDoc}
*/
......@@ -60,6 +86,8 @@ class CollectorService implements CollectorInterface, Serializable
return static::PRIORITY;
}
/**
* {@inheritDoc}
*/
......@@ -68,6 +96,8 @@ class CollectorService implements CollectorInterface, Serializable
}
/**
* {@inheritDoc}
*/
......@@ -76,6 +106,8 @@ class CollectorService implements CollectorInterface, Serializable
return [];
}
/**
* {@inheritDoc}
*/
......
......@@ -11,7 +11,10 @@ class CollectorServiceFactory
public function __invoke(ContainerInterface $container, $requestedName, $options = null)
{
$service = new CollectorService();
/** @var $urlVH Laminas\View\Helper\Url*/
$urlVH = $container->get('ViewHelperManager')->get('url');
$service = new CollectorService($urlVH);
$service->setServiceConfig($container->get(ConfigService::class));
return $service;
......
<?php
/* @var $collector \UnicaenCode\Collector */
$views = $collector->getViews();
$items = $collector->getItems();
?>
<div class="laminas-toolbar-entry">
......@@ -13,10 +13,14 @@ $views = $collector->getViews();
</span>
</div>
<div class="laminas-toolbar-detail">
<?php foreach ($views as $view): ?>
<?php foreach ($items as $name => $url): ?>
<span class="laminas-toolbar-info">
<span class="laminas-detail-value">
<a href="<?php echo $this->url('unicaen-code', ['view' => $view]);?>"><?php echo $view ?></a>
<?php if ($url): ?>
<a href="<?= $url ?>"><?= $name ?></a>
<?php else: ?>
<?= $name ?>
<?php endif; ?>
</span>
</span>
<?php endforeach; ?>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment