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.

Reklama

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í.

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: 

Reklama

Komentáře

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é.

Díky. Toto video bylo dělané na třikrát a stále je tam, co zlepšovat.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

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?

Ano, je to dělané v Camtasia Studio

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

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.

Dobrý den,

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

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.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

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?

Soubor musíte uložit v kódování UTF-8.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

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

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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 :-)

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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.

    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

    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í.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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í :(

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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

    Musíte se z defaultu přepnout na definici stránky.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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.

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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.

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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ěď.

    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?

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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ě).

    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

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

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

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

    Můžete - za předpokladu, že je webserver nastaven tak, aby to bral v potaz.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    Č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ě.

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

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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.

    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

    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.

    Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

    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.

    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ář