Pusty tag cloud w ezPublish 4.0.3

W istniejącej instalacji ezPublish w wersji 4.0.3 miałem problem, o nie wyświetlała się chmura tag'ów (tag cloud). Wskazówka była w pliku var/log/error.log:

Error: error executing query: SELECT ezkeyword.keyword, count(*) as keyword_count
 FROM ezkeyword,
  ezkeyword_attribute_link,
   ezcontentobject,
   ezcontentobject_attribute,
   ezcontentobject_tree
                                            
   WHERE ezkeyword.id = ezkeyword_attribute_link.keyword_id
    AND ezkeyword_attribute_link.objectattribute_id = ezcontentobject_attribute.id
    AND ezcontentobject_attribute.contentobject_id = ezcontentobject_tree.contentobject_id
    AND ezcontentobject_attribute.contentobject_id = ezcontentobject.id
    AND ezcontentobject.status = 1
    AND ezcontentobject_attribute.version = ezcontentobject.current_version
    AND ezcontentobject_tree.main_node_id = ezcontentobject_tree.node_id
    AND ezcontentobject_tree.path_string like '/1/2/%'
    AND ezcontentobject_tree.node_id != 2
                                            
    AND ezcontentobject_tree.is_invisible = 0
                                            
    AND ezcontentobject.language_mask & 3 > 0 

   GROUP BY ezkeyword.id
   ORDER BY ezkeyword.keyword ASC BŁĄD:  kolumna "ezkeyword.keyword"
musi występować w klauzuli GROUP BY lub być użyta w funkcji agregującej

rozwiązanie jest oczywiste, mniej oczywista jest lokalizacja pliku w którym jest zdefiniowane to zapytanie. Przeszukałem pliki pod kątem frazy ezkeyword.keyword i znalazłem plik

extension/ezwebin/autoloads/eztagcloud.php

w którym zmieniłem GROUP BY'a w linii 120 na:

GROUP BY ezkeyword.id, ezkeyword.keyword

problem został rozwiazany, a efekty było widać nawet bez czyszczenia pamięci podręcznej.

Kommentare

Bitte melden Sie sich Logan oder registrieren Sie sich um kommentieren zu können.

Just my blog...

Mon Di Mi Do Fr Sa So
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
eZ Publish™ copyright © 1999-2025 eZ Systems AS