Skip to content
Snippets Groups Projects
Commit 81ea8e89 authored by Fabrice Gangler's avatar Fabrice Gangler :art:
Browse files

FEAT(tag page): add search tools ---> WIP 602

Refs: 602
parent 253ce1ac
No related branches found
No related tags found
No related merge requests found
......@@ -186,6 +186,20 @@ class TagsController extends AppController
*/
public function listAllSoftwareForAGivenTag($id)
{
$this->paginate = [
"Softwares" => [
'sortWhitelist' => [
'softwarename',
'average_review',
'created',
'modified',
],
'limit' => Configure::read('LIMIT'),
'order' => ['softwarename' => Configure::read('ORDER')],
'contain' => ['Reviews', 'Tags'],
]
];
// Sort software list by softwarename
$tag = $this->Tags->get(
$id,
......@@ -198,6 +212,46 @@ class TagsController extends AppController
]
);
$reviewed = [
"false" => __d("Forms", "Search.Filter.NoFilterOnReview"),
"true" => __d("Forms", "Search.Filter.WithReview"),
];
$screenCaptured = [
"false" => __d("Forms", "Search.Filter.NoFilterOnScreenshot"),
"true" => __d("Forms", "Search.Filter.WithScreenshot"),
];
$used = [
"false" => __d("Forms", "Search.Filter.NoFilterOnUser"),
"true" => __d("Forms", "Search.Filter.WithUser"),
];
$hasServiceProvider = [
"false" => __d("Forms", "Search.Filter.NoFilterOnServiceProvider"),
"true" => __d("Forms", "Search.Filter.ServiceProvider"),
];
$order = [
"softwarename.asc" => __d("Forms", "Search.Sort.softwarenameAsc"),
"softwarename.desc" => __d("Forms", "Search.Sort.softwarenameDesc"),
"created.asc" => __d("Forms", "Search.Sort.createdAsc"),
"created.desc" => __d("Forms", "Search.Sort.createdDesc"),
"modified.asc" => __d("Forms", "Search.Sort.modifiedAsc"),
"modified.desc" => __d("Forms", "Search.Sort.modifiedDesc"),
"average_review.asc" => __d("Forms", "Search.Sort.averageReviewsAsc"),
"average_review.desc" => __d("Forms", "Search.Sort.averageReviewsDesc"),
];
$this->set('reviewed', $reviewed);
$this->set('used', $used);
$this->set('hasServiceProvider', $hasServiceProvider);
$this->set('order', $order);
$this->set('screenCaptured', $screenCaptured);
//To populate SearchForm
$this->request->data = $this->request->query;
$this->set('tag', $tag);
$this->set('_serialize', ['tag']);
......@@ -208,6 +262,9 @@ class TagsController extends AppController
'url' => 'tags/'. $tag->id .'/software',
];
$this->setBreadcrumbs($links);
// $this->set('softwares', $this->paginate($tag->softwares));
$this->set('softwares', $tag->softwares);
$this->set('_serialize', ['tag','softwares']);
}
/**
......
......@@ -7,7 +7,7 @@ $this->assign('title', $tag->name);
<ul class="list-unstyled col-xs-12">
<li>
<h1><?= __d("Tags", "Tag") . " " . $tag->name ?></h1>
<h1><?= __d("Tags", "Tag") . " <em>" . $tag->name ?></em></h1>
</li>
<?php
if($selectedLanguage === 'fr' && !empty($tag->description_i18n_fr)) {
......@@ -22,9 +22,10 @@ $this->assign('title', $tag->name);
<section class="clearfix">
<?php
echo $this->Lists->block(
$tag->softwares,
$softwares,
[
"type" => "software",
"form" => $this->element("Pages/SearchFormSoftwares"),
"title" => "<h2>" . __d("Tags", "SoftwareListTag") . $tag->name . " (" . count($tag->softwares) . ")" . "</h2>",
"titleAddMore" => "",
"titleSeeAll" => "",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment