Drupal 6, Views 2 a uživatelské profily (video)

Drupal 6 je možné rozšířit o řadu dalších způsobů zobrazení obsahu, a to především díky modulu Views. Tento modul jistě znáte ve spojení s CCK a Contemplate. Pro dnešní praktické video z implementace a použití Drupalu jsem zvolil řešení, na které se zapomíná. Implementaci Views 2 ve spojení s uživatelskými profily.

Drupal 6 přišel s řadou novinek v administračním rozhraní. Také mnoho doplňkových modulů upravilo svůj vzhled, v čele nich pak stojí Views 2. Jeho administrátorské rozhraní je kompletně předělané. Pokud jste si zakoupili první vydání mé knihy o Drupalu 5, pak se asi v nových Views 2 moc orientovat nebudete. Druhé vydání knihy, případně i toto video vám snad pomůže. V knize je nicméně práce s Views 2 vysvětlena podrobněji.

Musím se přiznat, že ze začátku mi nová administrace Views 2 přišla velmi složitá. Jakmile však člověk novému stylu ovládání přivykne, zjistí, že je velmi výkonné a pracuje se s ním docela pohodlně.

Co tedy uvidíte na následujícím videu? Připravil jsem ukázku úpravy uživatelských profilů. Naučíte se, jak přidat další políčka, která uživatel může vyplnit v registračním formuláři a jak obsah těchto políček zobrazit na stránce s profilem uživatele v bloku u článku. V druhé části videa vám ukážu, jak se pracuje s Views 2 a jakým způsobem je možné zobrazit výpis uživatelů. Jako taková specialita je ukázáno seskupování výpisu podle určitých kritérií.

Video bylo odstraněno

Stejně jako u předešlého videa věnovaného obrázkům v Drupalu můžete psát komentáře a poznámky k obsahu i formě. Budete-li potřebovat pomoci s nějakým kódem, napište také.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Výborně pane Polzere. Jen tak dál. Tento díl byl velice přínosný a doufám, že i do budoucna budete pokračovat s těmito videonávody, které jsou pro začátečníky i pokročilé velmi přínosné.

návštěvník

Je to výborné. Myslím, že zlepšovat není co, jelikož je to zdarma a velmi to pomůže. Takže jak se říká: "Za tu cenu" :-D Ještě se zeptám, i toto video je vytvořenou v Camtasii?

návštěvník

Musim rici, ze se vam video velmi povedlo. Vystihuje presne to, co oba moduly spolecne umi.
CCK i Views jsem si prosel o chvilku drive. Ve spolupraci obou modulu vidim hodne synergie.

návštěvník

Dobrý den,

chci se zeptat, tento soubor byl již obsažen ve Vašem tématu nebo jste si ho dopsal sám?

Profile picture for user Jan Polzer

Dobrý den,
user_profile.tpl.php v některých tématech je, v některých není, ale vytvořit si jej můžete sám.

návštěvník

Dobrý večer,

vytvořil jsem si user_profile.tpl.php, ale nezobrazuje se mi česky. Místo české diakritiky se mi obejvují otazníky. Nevíte co s tím?

návštěvník

Dobry den, zaujal ma vas clanok,dost mi pomohla pri zaciatkoch vasa kniha, konecne niekto pomohol aj zaciatocnikom, chcel by som sa opytat ako by ste riesili takyto problem:

potreboval by som zaradit uzivatelov do skup.

  • zamestnanec
    • pracovisko hr.
    • pracovisko ekonom.
      • uctovnicky
      • ekonomky
    • pracovisko logist.
  • zakaznik
    • ako mam riesit to ked zadam v prvom poli napr. pracovisko ekonom tak mi v dalsom ponukne len to co pod neho patri, a aby napr. ked je zamestnanec zamest. na 2 pracoviskach zaradit ho na dalsie pracovisko, kde bude mat napr. moznost pridelenia dalsieho tel. cisla.

      viete mi poradit v tejto problematike???
      za odpoved dakujem

    Profile picture for user Jan Polzer

    Dobrý den, jsem rád, že se vám kniha líbí. Jak to přesně řešit Vám neporadím, protože jsem to nikdy nedělal. Ale určitě k tomu budete potřebovat modul Active Select (http://drupal.org/project/activeselect). Slouží primárně pro články a kategorie, nicméně nabízí nějaké API, které by mělo být použitelné i u uživatelských profilů.
    Verze pro Drupal 6 je umístěna v reakcích na modul. Chápu, že pro začátečníka je tato moje odpověď asi nepoužitelná, v tuto chvíli asi víc nenabídnu.

    návštěvník

    Zdravím Vás,

    video je hezké, ale asi jsem větší začátečník, než všichni ostatní. Pokusím se dočíst hodně ve Vaší knize (zatím je málo času, ale už jí mám).

    Spíše jsem chtěl požádat, když budete dělat takováto videa, zda by bylo možné zkusit někdy nějakou demonstraci z ničeho. Vše máte předpřipravené a já se v tom pak ztrácím, protože ve videu říkáte, co se má dělat, ale protože to již máte, tak už to neuděláte.

    Nevím, zda mě rozumíte a hlavně to prosím neberte jako kritiku. Velice si vážím Vaší práce jak na webu, tak jidne, včetně Vašich pomocných mailů mě osobně.

    Pouze jsem chtěl říci názor na to, že třeba toto video bych chápal více, kdyby bylo vařeno z vody, jak se říká:-)

    (Ale možná jsem jenom blbej - nebo je to tím, že sem nikdy s tímto modulem nepracoval a je to pro mě naprosto cizí a nové)

    Děkuji :-)

    Profile picture for user Jan Polzer

    Dobrý den. Chápu Vás, videa nejsou dělána pro úplné začátečníky, ale spíše slouží jako inspirace lidem, kteří si již Drupal nainstalovali a zkouší najít nějakou zajímavou funkcionalitu v kombinaci různých modulů.

    Vzhledem k tomu, že moje kniha je určena právě začátečníkům, nemůžu zde znovu opakovat úplně to, co je v ní uvedeno. Jednak bych porušoval autorskou smlouvu, a potom bych byl taky tak trochu proti sobě. Doufám, že to pochopíte.

    Na druhou stranu se můžete kdykoli na cokoli zeptat ve fóru, rád odpovím.

    návštěvník

    Zdravim,

    taky jsem zacinal, jak vy. Zkusenejsi jsem jen o maly krok. Nejdrive jsem si drupal parkrat nainstaloval a zapnul nejaky ten zakladni modul, abych videl, co to dela, napsal clanek, zridil blog, pohral si s bloky. Pak jsem si koupil knihu, kterou jste zminil. Hodne z ni cerpam, je fakt moc dobra. Pocetl jsem si ji a pak prisel tento clanek. Docela podrobne jsem si instalaci modulu v clanku nekolikrat prosel a pomalu jsem si video prosel a podarilo se mi to rozchodit.

    Z meho pohledu bych podobny postup take doporucil. Asi bych si netroufnul hned po prvni instalci drupalu nastavovat nejake dalsi apliakce typu galerie, videoweb, atd. i kdyz to hodne laka :-) Clovek k tomu musi prijit postupne a na vstrebani a logiku veci potrebuje cas.
    Pokud by bylo video uplne od zacatku. bylo hodne dlouhe a uz neplnilo svuj ucel. Videl jsem uz par videi o drupalu, ktere byly o kapku delsi nez pul hodina a bylo to znat. Clovek ztraci koncentraci velky rychle.
    "Drupal po kapkach" je uplne idealni reseni z meho pohledu i pro lidi, kteri zacinaji.

    návštěvník

    Dobrý den, mám vytvořený typ obsahu, v něm vytvořená další pole pomocí CCK. A výpis je zobrazovaný pomocí Views. Pole definovaná pomocí CCK nejsou však povinná (u některého příspěvku jsou obsažena, u některého nikoliv). Ale pomocí views se vždy zobrazují popisky fields, ikdyž nic neobsahuje. Je možné nějak pomocí views kontrolovat, zda není fields prázdné? Když není použito Views, ale např. klasického /node, tak nevyplněná pole se nezobrazují. Stejného efektu bych chtěl dosáhnout pomocí Views. Na drupal.org jsem na podobné dotazy narazil, ale většina řešení pomocí patchů. Opravdu Views 2 neobsahují žadné takové klikátko?

    Děkuji

    Profile picture for user Jan Polzer

    Taky jsem o tom nedávno přemýšlel, ale na nic jsem nepřišel. Řešením by bylo snad jen použití Contemplate a před vypsáním hodnoty kontrolovat PHP podmínkou, zda něco obsahuje. Ale není to klikací.

    návštěvník

    Contemplate má vliv na Views ve formě fields? Nemá to vliv jen na zobrazování celých uzlů? Mně napadá řešení pomocí *.tpl.php a php podmínky... Celkem mě překvapuje, že Views takovou vlastnost nemají :(

    Profile picture for user Jan Polzer

    Na field vliv nemá. Ale můžete použít klasické zobrazení a tam pak to pomocí Contemplate definovat. TPL.PHP a podnímka je v podstatě totéž v bledě modrém.

    návštěvník

    Naistaloval jsem si view2, navod je moc pekne udelany, jen mam jeden drobny problem. Pri definici pohledu nemam "Page settings", takze jsem si nemohl nastavit cestu, ani pridani do menu.... to potrebuje nejaky pomocny modul ? Kazdopadne ta cesta bude asi stejne alias, jaka bude adresa na dany pohled bez tohoto aliasu ?
    Dekuji

    návštěvník

    Zdravím, videa jsou naprosto výborná a přínosná, takže velká díky za ně i za Vaši knihu. Chtěl bych se zeptat jestli nemáte v plánu vyrobit videonávod jak zkrotit tvorbu obsahu pomocí CCK a následně jeho výpis na frontpage pomocí VIEWS v kombinaci s CONTEMPLATE. V opačném případě bych Vás chtěl, jako začátečník, požádat jestli byste nevyrobil krátký videonávod jak na to? Zaujalo mě totiž jakým způsobem jste vytvořil výpis nemovitostí na allreal.cz.

    Profile picture for user Jan Polzer

    Zdravím, uvažuju o nějakém návodu týkajícího se stylování a nastavení vzhledu článků/obsahu. Takže uvidíme. Díky za nápad.

    návštěvník

    Zdravím, to by bylo perfektní. Mám takový problém, který by návod tohoto typu určitě vyřešil a našel jsem spoustu podobných dotazů v různých fórech, ale odpovědí je poskrovnu. O co jde. Vytvořil jsem stránku, udělal k ní tlačítko v menu a obsahuje jen nadpis. Poté jsem vytvořil nový typ obsahu pomocí cck a pomocí views se snažím o výpis, což není až tak problematické. Daleko větší problém ( v podstatě se nemohu hnout dále ) je vypsat nový typ obsahu pomocí views na již vytvořenou stránku, která by měla být zároveň i frontpage. Velmi podobně toto řešíte na allreal.cz, sekce makléři.

    Profile picture for user Jan Polzer

    Uvažujete špatně :-) Zapomeňte na tu stávající stránku s nadpisem a záznamem v menu. Ve Views si nadefinujte novou page, určete ji adresu a záznam v menu, v hlavičce pak zadejte nadpis. Uložte a máte, co jste potřeboval.

    návštěvník

    Máte pravdu :) Funguje to :) Ale k úplné spokojenosti mně chybí poslední věc, a to sice, jakým způsobem vypsat na stránku definovanou ve views nabídku služeb jednu vedle druhé tak, jak to máte na allreal.cz na frontpage? Chápu to správně, že každá nemovitost je samostatná stránka definovaná ve views a výpis nemovitostí na frontpage pomocí bloků, které jsou rovněž definovány ve views a mají stejný název kvůli vzájemné vazbě? Díky za předchozí radu a prosím o radu na tento dotaz a pak už Vám dám pokoj, možná :D

    Profile picture for user Jan Polzer

    Ono to sice vypadá jako bloky, ale je to dělaný tak, že je to jediná stránka Views, kde jsem Row style dal jako Fields, ve skupině Fields jsem vybral nadpis, obrázek a něco k nemovitosti a uložil. Že to vypadá jako bloky je už zařízeno pomocí kaskádových stylů. Do CSS stačí doplnit něco jako .node {float: left; width: 200px;} - čili řazení vedle sebe a nastavení šířky.

    návštěvník

    Prosím o radu. Potřeboval bych vypsat nově vytvořená pole v modulu profile, např. jméno, příjmení, telefon, e-mail do nově přidaného obsahu typu stránka. Zkoušel jsem to "přelstít" způsobem, kterým popisujete v tomto článku, i když to asi nebude ten pravý způsob. Nejedná se mi o seznam uživatelé, ale výpis hodnot do stránky jen právě přihlášeného uživatele. Děkuji za odpověď.

    Profile picture for user Jan Polzer

    Dobrý den, pokus se nepletu, tak zatímco informace o proilu uživatele v user_profile.tpl.php jsou dostupné v $account, tak info o právě přihlášeném uživateli najdete v $user. Je to, co hledáte?

    návštěvník

    Myslím, že potřebuji ještě něco jiného. V modulu profile jsem vytvořil dvě nové pole s názvy name a surname. A teď potřebuji vložit tato pole do stránky, např. do textu "Dobrý den, Vaše jméno je: name surnamea atd.
    Pokud si nechám vyjet "proměnné" z pole $user, pak mi to nevypíše ty, které jsem nově vytvořil v modulu profile. Asi dělám něco špatně (určitě).

    návštěvník

    Dobrý deň,
    ak tomu správne rozumiem, bez Views (http://drupal.org/node/136916) by som nemohol zobraziť príspevky len určitého obsahu. Napríklad len stránky, len ankety... Skúšal som totiž tipovať URL ako node/content/page, node-type/page, ale nefunguje to :(

    A ešte mám druhú otázku - po zapnutí Views dochádza k nasledujúcej chybe:
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4104 bytes) in /web-page/sites/all/modules/views/includes/view.inc on line 1644
    Ak tomu rozumiem správne, skript prekročil 16MB tým, že obsadil 4MB? To je nejaký nezmysel, nie?

    max_execution_time 30 30
    max_file_uploads 50 50
    max_input_nesting_level 64 64
    max_input_time 60 60
    memory_limit 16M 16M

    Profile picture for user Jan Polzer

    Dobrý den, rozumíte správně.Bez Views dokáže Drupal filtrovat jen kategorie, ne typy obsahu.

    Memory limit pro Drupal bych viděl na minimu 64 MB, s Views určitě. Ta hláška značí, že 16 MB nestačilo a v tom daném případě Drupal potřeboval ještě asi o 4 kilobajty (ne mega...) více.

    návštěvník

    Vaw, vďaka za Vašu pomoc, Ste poklad :) Drupal sa mi páči čoraz viacej a viacej!

    návštěvník

    Som zistil, že nastavenie memory_limit a ešte veľa iných si môžem meniť sám v súbore settings.php :)

    návštěvník

    Článek byl pro mě velice přínosný. Inspiroval mě k reorganizaci stránek. Takže děkuji, jenom více takových článků.

    Při změně jsem si připravil jsem nový typ obsahu - malůvka a pomocí CCK přidal pole. Vytvořil jsem nové view, přidal pole (Fields). Ze slupce Č.malůvky jsem chtěl udělat odkaz na příslušnou malůvku. Odkaz se mi podařilo vytvořit, ale nevím co zadat do "Link path: " respektive jak zjisti číslo nodu. Do pole jsem zadal hodnotu node/[field_maluvka_cislo_value], ale to je špatně.

    Profile picture for user Jan Polzer

    Děláte to složitě, řekl bych. Stačí pouze zapnout "Link this field to its node".

    návštěvník

    Dobrý den,

    v čase 3:55 Vašeho videa zmiňujete, že na drupal.org, jdou stáhnout moduly pro rozšíření typu polí pro vytvoření profilu uživatele. Mohl byste prosím nějaký z těchto modulů zmínit?

    Našel jsem pouze moduly jako "Maxlength", "Email Field", "Phone (CCK)", "Advanced Profile Kit", ale žádny z těchto modulů mi pole do www.exa mple.com/admin/user/profile nové pole nepřidal.

    návštěvník

    Dobrý den,

    moje otázka je úplně mimo témata řešená výše, ale chtěl jsem se zeptat, jak jste na web, který prezentujete ve videu, dostal minimapku, která rozděluje šr do krajů a na které funguje kategorizace do krajů. díky moc

    Profile picture for user Jan Polzer

    Jednoduše :) Je to klikací mapa vygenerovaná programem Meracl ImageMap Generator. Jako odkazy jsem dal vnitřní URL Drupalu směřující na kategorie.

    Jinak, prezentovaný web už bohužel nejede.

    návštěvník

    Dobrý deň, vďaka Vášmu videu som si prispôsobil uživateľské profily tak ako som potreboval. Chýba mi však jedna maličkosť k dokonalosti. Pri zobrazení profilu uživateľa sa mi v nadpise zobrazí $user->name a to by som chcel zmeniť na jedno z polí, ktoré som si vytvoril v profile, napr. $account->profile_meno. Prosím aspoň o nasmerovanie. Ďakujem.

    návštěvník

    Tak som to zatiaľ vyriešil pridaním tejto funkcie do template.php.

    function moja_tema_preprocess_page(&$vars) {
            if(arg(0) == 'user') $vars['title']='Uživateľský profil';
    }

    Takto som sa aspoň zbavil uživateľského mena v nadpise profilu, aj keď po pravde som chcel v nadpise zobrazovať plné meno uživateľa definované políčkom v uživateľských profiloch. To sa mi, ale nedarí :(

    Přidat komentář

    Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

    reklama
    Moje kniha o CMS Drupal

     

    Kniha 333 tipů a triků pro Drupal 9


    Více na KnihyPolzer.cz

    Sledujte Maxiorla na Facebooku

    Maxiorel na Facebooku

    Poslední komentáře
    Hosting pro Drupal a WordPress

    Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

    @maxiorel na Twitteru

    Maxiorel na Twitteru