Pirmas

views+taxonomy

Sveiki,

su CCK susikūriau turinio tipą. Turinio tipas naudojamas straipsniams (puslapis žurnalui). Laukeliai kaip tema, vienu sakiniu, nuotraukos ir t.t. Numerio nurodymui kuriame publikuojamas straipsnis naudoju Taxonomy. Vedama tokiu princypu, pirmam numeriui 1(1), antram 2(2) ir t.t. Rašant naują straipsni naujam numeriui, automatiškai sukuriamas naujas terminas Taxonomy žodyne (jei dar tokio nebuvo).

Noriu su views rodyti tik tuos straipsnius kurie priklauso naujausiam Taxonomy terminui. pvz jei tai trečias numeris tai būtų 3(3). Niekaip nerandu kaip tai padaryti. Filtruoti galiu jei nurodau rankiniu būdų, kad rodyti pvz 3(3), bet kaip padaryti kad filtruotu automatiškai be mano įsikišimo ir rodytu tik priklausančius naujausiam Taxonomy žodyno įrašui.

Jei neklystu term neturi

Jei neklystu term neturi sukūrimo datos lentelės, todėl naujausia galima laikyti tą kurio tid didesnis. Bet standartinis modulis neturi tokio filtravimo galimybės

Dėkui. Dabar aišku, galvojau,

Dėkui. Dabar aišku, galvojau, kad aš konors nerandu.
Bandysiu gal ką nors su PHP daryti kaip amfis minėjo. Arba dar papraščiau, kas mėnesį views'o filtravimo taisyklę paredaguoti (čia turbūt pats papraščiausias būdas).

Gali pasirašyt nedidelė f-ją

Gali pasirašyt nedidelę f-ją į cron.php, kad duombazėj (viewse) pakeistų į filtravimo tid į didžiausią term ID to vocabulario ;)

o čia tai gera mintas!!!

o čia tai gera mintas!!! Ačiū! :)

Arba gali daryti tvarkingai

Arba gali daryti tvarkingai ir pasirasyti moduliuka, kuris is karto imtu taip kaip reikia... nepriklausomai nuo cron'o paleidimu.

Pateiksiu pvz (metas pramust

Pateiksiu pvz (metas pramust ledus...)

<?php
/**
* Alterinam viewsu query //node_node_data_field_aukstai_type
*/
function alter_exposed_views_query_alter(&$view, &$query) {
    if (
$view->name == 'namu_filtras') {
       
$query->orderby[1] = "node_title ASC";
    }
}
?>

Cia paprasciausias modulio turinys. Sukuriame modulis.info ir modulis.module failus. I modulis.module ipastinam sita gabaliuka kodo, nustatome ko reikia ir voilia.

Kur "if ($view->name == 'namu_filtras') {" nurodome viewso pavadinima, kuri ivedeme ji kurdami.

Kad pamatyti kaip susideda pats $query, galime pasinaudoti watchdogu ir paspausdinti i log'a, arba naudoti devel moduli ir dprint_r() funkcija arba var_dump(), kaip kam patogu.

super! aciu ;) pravers

super! aciu ;)
pravers ateity, dar sito neteko naudoti

Kaip kuriamas modulis aš

Kaip kuriamas modulis aš žinau ir teko kažkiek su tuo pasižaisti.
O kaip view'sai jame valdomi tai dar neišsiaiškinau :) bet jaučiu reikia tai padaryti. Ačiū už teisingą nukreipimą.

pamirsau prideti kad cia

pamirsau prideti kad cia alterinamas exposed filtras - t.y. filtravimo pasirinkimas.

Ko reiktu tai tik

<?php
function alter_views_query_alter(&$view, &$query) { //musu kodas }
?>

lyg ir i tema

Tai gal kažkaip panašiai galima globalų $language "įkišti" į views'o template'ą? Situacija: turiu views'as ir per panels jį rodau. Ir noriu pakeist tą rodymą priklausomai nuo vartotojo pasirinktos kalbos.

never mind ;) global

never mind ;)

global $language tereikėjo apsirašyti

Na as taikau tokia praktika:

Na as taikau tokia praktika: naudoju PHP viewse.

Susirenku laukus kurie man reikalingi viewse, juos uzslepiu, po to su PHP "views header" ar kur patogiau darau ka reikia su pateikta informacija. Neretai tai buna papildomi db_query kad gauti reikalingos informacijos ar rezultatus suformuoti.

Performanco klausimu, kartais geriau parasyti mini moduliuka 1 eilutes, kuris alterina butent to viewso query pridedamas reikalingus SQL argumentus.

O filtravimas pagal taxonomy

O filtravimas pagal taxonomy terma nepadeda?

Mano galva to nepadarysi tik

Mano galva to nepadarysi tik su views.

Su kuo kitu tai padaryti irgi negaliu pasakyti. Man panašu, kad reiktų pakodint čia...

Surinktas turinys