Přeskočit přímo na text


Úprava dotazu z views aneb lze použít hook_views_query_alter()?

Kategorie: Jak na to?
Týká se verze: Drupal 6.x

Zdravim,
hledal jsem, ale nikde nenašel :( Jde nějak ručně upravovat dotaz z views?

Mám např. pohled „rejstriky“ kde, chci, aby autori byli serazeni podle prijmeni. Problém je ten, že názvy autorů jsou uvedeny ve formátu „Jméno Příjmení“ a já potřebuji invertovanou verzi. Tedy seřadit je podle příjmení. Napadlo mě použití

ORDER BY SUBSTRING( `name`, LOCATE( ' ',  `name`))

které mám v mysql odzkoušené a funguje, ale nevím jak mám dotaz views tímto způsobem upravit. Našel jsem funkci hook_views_query_alter(), ale nějak jsem nepochopil její použití – slabá angličtina. Nemůžete mě prosím někdo nakopnout? 8) Díky všem

Dodatek: našel jsem článek na http://www.nicklewis.org/…iews-queries, ale nechápu jak toto použít.

 

Opravdu nikdo nemá ani tušení

Opravdu nikdo nemá ani tušení na nějaký nápad?

Ked si spravis sablonu pre

Ked si spravis sablonu pre view tak by tam mali byt potrebne data ktore si mozes prisposobit.

No to je fakt, ale myslím že

No to je fakt, ale myslím že mnohem jednodušší a efektivnější než přeuspořádat ty výsledky dotazu bude položit dotaz nový. Dejme ale tedy tomu, že bych to při nejhorším udělal takto – jak ale teda ty data (výsledky dotazu) přeuspořádám? Jsou vůbec uložena v nějaké proměnné jako pole nebo objekt? Co já vím, tak si v té šabloně můžu změnit zobrazení konkrétního záznamu z dotazu, ale nevím o žádné proměnné, ve které by byly ty výsledky všechny. 8)

$view ?

$view ?

Podla mna rucne upravovat ten

Podla mna rucne upravovat ten dotaz asi nepojde – ved views su prave na to aby si to nemusel robit rucne. Ja niekedy preferujem prave rucne napisanie query ale to vyzaduje obsluzit si sam vsetky veci okolo (vlastny modul napr.)…

No já to nakonec udělal tak,

No já to nakonec udělal tak, že jsem ve views udělal 1 velice rychlý dotaz, jen abych mohl využívat ostatních vychytávek views. Pak jsem si vložil dotaz svůj. Nakonec stejně asi udělám řazení podle jména a pak příjmení, protože by to bylo pro uživatele asi trošku matoucí vidět jméno v přirozeném tvaru a mít to seřazené invertovaně. Řazení jsem potřeboval ve slovníku, takže při nejhorším se dá stejně řadit ručně. U nodu je to totiž mnohem snazší, protože si mohu vytvořit pole příjmení a řadit to dle něj třeba.

hlavně když si tahle řadíš

hlavně když si tahle řadíš sám (nebo nepochopil jsem, co jak děláš), tak si dej bacha na výkon. Pokud možno by všechno měla sortit databáze, ne aplikační logika.

A preco to meno nerozdelis na

A preco to meno nerozdelis na meno a priezvisko? A mas po probleme.

No hmm, dalsi clanok

No hmm, dalsi clanok http://www.appnovation.com/modifying-views – pouzitie je asi take ze do vlastneho modulu das ten hook a zmenis pozadovane casti sql query. Predtym aby si vedel z coho sa query sklada je vhodne si cez print_r() alebo dpm() (ak mas modul devel zapnuty) vypisat co ta premenna $query obsahuje aby si vedel co mas zmenit.

Poslat nový komentář

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • You can use Texy! to format and alter entered content.
  • Povolené HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <p> <br> <b> <i> <h2> <img> <pre> <sup> <sub> <pre class="php"> <span class="php-keyword1"> <span class="php-var"> <span class="php-num"> <img class="screenshot"> <p class="beginner"> <a class="greybox"> <h3> <h4>

Více informací o možnostech formátování

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.

Hledat

Přihlášení

Bezpečnost Drupalu

Z hlediska bezpečnosti je Drupal na velmi vysoké úrovni, díky propracovanému systému hlášení, prověřování a řešení možných problémů.

Čtěte více a odebírejte bezpečnostní aktuality

Poslední komentáře

Kdo je online

Momentálně je online 2 uživatelé a 0 hostů.

Online uživatelé