diff --git a/controllers/ProvideAutoSuggest.php b/controllers/ProvideAutoSuggest.php index c0bd6a4c..fc10474d 100644 --- a/controllers/ProvideAutoSuggest.php +++ b/controllers/ProvideAutoSuggest.php @@ -41,8 +41,9 @@ class ProvideAutoSuggest extends JSONController $results = Tag::matchPeople($data); foreach ($results as $id_tag => $tag) $this->payload['items'][] = [ - 'label' => $tag, + 'label' => $tag['tag'], 'id_tag' => $id_tag, + 'url' => BASEURL . '/' . $tag['slug'] . '/', ]; } } diff --git a/models/Tag.php b/models/Tag.php index dfc9e93c..ce663631 100644 --- a/models/Tag.php +++ b/models/Tag.php @@ -335,8 +335,8 @@ class Tag if (!is_array($tokens)) $tokens = explode(' ', $tokens); - return Registry::get('db')->queryPair(' - SELECT id_tag, tag + return Registry::get('db')->queryPairs(' + SELECT id_tag, tag, slug FROM tags WHERE LOWER(tag) LIKE {string:tokens} AND kind = {string:person} diff --git a/templates/PhotoPage.php b/templates/PhotoPage.php index c695c645..f959ca9f 100644 --- a/templates/PhotoPage.php +++ b/templates/PhotoPage.php @@ -175,9 +175,14 @@ class PhotoPage extends SubTemplate appendCallback: function(item) { var request = new HttpRequest("post", "', $this->photo->getPageUrl(), '", "id_tag=" + item.id_tag, function(response) { - var newNode = document.createElement("li"); + var newLink = document.createElement("a"); + newLink.href = item.url; + var newLabel = document.createTextNode(item.label); - newNode.appendChild(newLabel); + newLink.appendChild(newLabel); + + var newNode = document.createElement("li"); + newNode.appendChild(newLink); var list = document.getElementById("tag_list"); list.appendChild(newNode);