mirror of
https://github.com/wallabag/wallabag.git
synced 2024-10-31 22:28:54 +00:00
Add tags list display
This commit is contained in:
parent
6ecdd48a3f
commit
3f3fbef11f
5 changed files with 80 additions and 2 deletions
33
src/Wallabag/CoreBundle/Controller/TagController.php
Normal file
33
src/Wallabag/CoreBundle/Controller/TagController.php
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace Wallabag\CoreBundle\Controller;
|
||||
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Wallabag\CoreBundle\Entity\Tag;
|
||||
|
||||
class TagController extends Controller
|
||||
{
|
||||
/**
|
||||
* Shows tags for current user.
|
||||
*
|
||||
* @Route("/tag/list", name="tag")
|
||||
*
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function showTagAction()
|
||||
{
|
||||
$tags = $this->getDoctrine()
|
||||
->getRepository('WallabagCoreBundle:Tag')
|
||||
->findTags($this->getUser()->getId());
|
||||
|
||||
return $this->render(
|
||||
'WallabagCoreBundle:Tag:tags.html.twig',
|
||||
array(
|
||||
'tags' => $tags
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -3,7 +3,25 @@
|
|||
namespace Wallabag\CoreBundle\Repository;
|
||||
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
use Pagerfanta\Adapter\DoctrineORMAdapter;
|
||||
use Pagerfanta\Pagerfanta;
|
||||
|
||||
class TagRepository extends EntityRepository
|
||||
{
|
||||
/**
|
||||
* Find Tags.
|
||||
*
|
||||
* @param int $userId
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function findTags($userId)
|
||||
{
|
||||
$qb = $this->createQueryBuilder('t')
|
||||
->where('t.user =:userId')->setParameter('userId', $userId);
|
||||
|
||||
$pagerAdapter = new DoctrineORMAdapter($qb);
|
||||
|
||||
return new Pagerfanta($pagerAdapter);
|
||||
}
|
||||
}
|
||||
|
|
27
src/Wallabag/CoreBundle/Resources/views/Tag/tags.html.twig
Normal file
27
src/Wallabag/CoreBundle/Resources/views/Tag/tags.html.twig
Normal file
|
@ -0,0 +1,27 @@
|
|||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||
|
||||
{% block title "Tags" %}
|
||||
|
||||
{% block content %}
|
||||
{% block pager %}
|
||||
{% if tags is not empty %}
|
||||
<div class="results">
|
||||
<div class="nb-results">{{ tags.count }} {% trans %}tags{% endtrans %}</div>
|
||||
<div class="pagination">
|
||||
{% for p in range(1, tags.nbPages) %}
|
||||
<li>
|
||||
<a href="{{ path(app.request.attributes.get('_route'), {'page': p}) }}" class="{{ currentPage == p ? 'current':''}}" >{{ p }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% if tags is empty %}
|
||||
<div class="messages warning"><p>{% trans %}No tags found.{% endtrans %}</p></div>
|
||||
{% else %}
|
||||
{% for tag in tags %}{{tag.title}}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -71,7 +71,7 @@
|
|||
<li><a href="{{ path('unread') }}">{% trans %}unread{% endtrans %}</a></li>
|
||||
<li><a href="{{ path('starred') }}">{% trans %}favorites{% endtrans %}</a></li>
|
||||
<li><a href="{{ path('archive') }}"}>{% trans %}archive{% endtrans %}</a></li>
|
||||
<li><a href="?view=tags">{% trans %}tags{% endtrans %}</a></li>
|
||||
<li><a href="{{ path ('tag') }}">{% trans %}tags{% endtrans %}</a></li>
|
||||
<li><a href="{{ path('new_entry') }}">{% trans %}save a link{% endtrans %}</a></li>
|
||||
<li style="position: relative;"><a href="javascript: void(null);" id="search">{% trans %}search{% endtrans %}</a>
|
||||
<div id="search-form" class="messages info popup-form">
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<li class="bold {% if currentRoute == 'unread' or currentRoute == 'homepage' %}active{% endif %}"><a class="waves-effect" href="{{ path('unread') }}">{% trans %}unread{% endtrans %}</a></li>
|
||||
<li class="bold {% if currentRoute == 'starred' %}active{% endif %}"><a class="waves-effect" href="{{ path('starred') }}">{% trans %}favorites{% endtrans %}</a></li>
|
||||
<li class="bold {% if currentRoute == 'archive' %}active{% endif %}"><a class="waves-effect" href="{{ path('archive') }}">{% trans %}archive{% endtrans %}</a></li>
|
||||
<li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}"><a class="waves-effect" href="?view=tags">{% trans %}tags{% endtrans %}</a></li>
|
||||
<li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}"><a class="waves-effect" href="{{ path('tag') }}">{% trans %}tags{% endtrans %}</a></li>
|
||||
<li class="bold {% if currentRoute == 'config' %}active{% endif %}"><a class="waves-effect" href="{{ path('config') }}">{% trans %}config{% endtrans %}</a></li>
|
||||
<li class="bold"><a class="waves-effect" class="icon icon-power" href="{{ path('logout') }}" title="{% trans %}logout{% endtrans %}">{% trans %}logout{% endtrans %}</a></li>
|
||||
</ul>
|
||||
|
|
Loading…
Reference in a new issue