statická ikonka článku

Dobrý den, chtěla bych u každého článku takovou menší ikonku, všude stejnou. Nevím přesně, co bych měla dosadit do node.tpl.php

<div class="ikonka">

???

</div>

Toto bych dosadila za hlavní div v souboru, ale nevím, co mezi to aby se mě tam vždy ta ikonka zobrazovala, když jí budu mít například na cestě: /sites/default/files/pictures/ikonka.jpg

Do stylů bych jí nechala plavat vlevo s nějakým odsazením.

Děkuji

návštěvník

Tak už jsem na to přišla, myslela jsem, že to bude složitější. Akorát se mi to zobrazuje i u stránek, já to chtěla jen u článků.

Profile picture for user Jan Polzer

Buď tam dejte v PHP podmínku if ($node->type == 'story'){} nebo vytvořte soubor node-story.tpl.php a veškerý jeho obsah se aplikuje jen na články.

návštěvník

Pokud se jedná o implementaci pomocí CCK políčka imagefiled, pak není nutné zasahovat do tpl.php vůbec. Stačí, když ve Vašem tématu v souboru style.css vypíšete třídu, kterou již drupal automaticky vytvořil pro nově založené políčko, a to ve tvaru ".field-field-název Vašeho políčka" (bez uvozovek). Např. založím políčko filed_ikonka. Do Style.css tedy přidám např. následující:

.field-field-ikonka{
   float: left;
   display: inline;
   margin-right: 10px;
   margin-bottom: 10px;
}

Obdobně lze zahrnout i všechny typy políček tvarem field-type-název typu políčka (např. "text").

Více třeba na http://drupal.org/node/153465

 

Ještě doplňuji, že pokud využíváte modul COLOR a máte jím upravené téma vzhledu, je nutné myslet na to, že si modul color vytváří alternativní soubor Style.css ve složce sites/default/files/color. Je tedy nutné upravit právě tento a nebo po implementaci výše uvedeného nastylování do základního souboru Style.css ve složce tématu vzhledu znovu uložit barevné schéma (/admin/build/themes/settings).

Howg :-)

návštěvník

Dobrý den,

ještě doplnění: Výše uvedené předpokládá, že políčko typu image(field) "ikonka" nastavíte v záložce Display field viditelné pouze v teaseru a bez zaškrtnutí volby exclude.

Na vysvětlenou také dodávám, že políčko vytváříte v konkrétním typu obsahu, tedy např. jen v článku.

návštěvník

Dobrý den,

paní (slečna) asi myslela svůj dotaz trošku jinak - šlo o zobrazení ikonky v těle článku, nemýlím-li se. Zde bych doporučoval prohlédnout si např. modul insert. Nastavení se provádí přímo ve vlastnostech konkrétního políčka, kde lze mimo jiné i standardně navolit default image.

Jinak imagefield je asi opravdu nejlepší cesta k tomuto účelu, dle mého názoru. Samozřejmostí je spojení s ImageCache, což zajistí téměř úplnou automatiku.

návštěvník

A mimochodem, v souvislosti s tím, co jste napsal, je ještě třeba upozornit, že pokud někoho napadne využít modul Teaserthumbnail, musí stylovat ten (pomocí třídy img.teaserthumbnail). Běžná obrázková políčka nejdou v teaseru při použití modulu teaserthumbnail nastylovat třídou field-field-něco.

návštěvník

Dobrý den,

myslím, že jste ještě zapomněl na jeden důležitý krok, a to nastavení váhy políček (vycházím z uvedeného CSS - resp. příkazu display: inline). Pokud chce někdo využít uvedenou cestu, měl by si nejprve nastavit váhu těch políček, které chce mít na jedné řádce, na stejnou hodnotu. Jinými slovy, jednotlivé hodnoty váhy políček (standardně -10 až 10) tvoří při zobrazování také jednotlivé horizontální úrovně. Příkaz display: inline totiž funguje pouze u stejně "těžkých" polí.

Otázka ale zní jak tyto stejné hodnoty nastavit, když v administraci políček konkrétního typu obsahu (manage fields) je drag&drop rozhraní... Není třeba mít strach, je to velice snadné - stačí vypnout na chvilku Java script (aktivní skriptování) na Vašem prohlížeči a voala :-) zjeví se vám klasické buňky s hodnotami (váhami) jednotlivých polí.

návštěvník

Dobrý den Honzo, :-)

to ano, ale nelze je nastavit na stejnou hodnotu - resp. nepřišel jsem na to jak to pomocí drag&drop udělat. Vždycky je tam hierarchie. Navíc, jakmile se něco přesune pomocí drag&drop, tak se ta hierarchie zase obnoví (všechna políčka dostanou hierarchickou váhu - žádné nemá stejnou hodnotu jako jiné).

Přijde mi to jako nejjednodušší varianta bez větších zásahů do souborů (kódu), ale rád získám nějaký nový podnět :-).

Profile picture for user Jan Polzer

Dobrý den návštěvníku ;-) Poslední dobou se tu množí různé zajímavé tipy jakoby od jedné osoby, ale nevím, kdo je má na svědomí. Každopádně díky.

Co se týče váhy, tak máte pravdu, tím drag&drop se stejná váha nenastaví, to mi nedošlo.

návštěvník

Dobrý večer :-)

ty komentáře od 10.12.2010, 9:49 mám opravdu všechny na svědomí já :-), ale asi jsem se u toho v 10:01 ukliknul a vypadá to, jako bych si odpovídal - bohužel vždycky něco zapomenu a tak to chci doplnit... :-) Z vlastní zkušenosti vím, že když ta nápověda není komplet, tak to pak nemusí hned dávat smysl - zrovna jsem ty obrázky v teaseru řešil a Váš web používám jako nápovědnu č. 1 (pak jdu většinou rovnou na drupal.org). Díky za Maxiorla ;-)

návštěvník

To, co jsem zapomněl napsat je, že pomocí třídy field-field-nazev_CCK_pole se mi nepodařilo v CSS (Style.css) nastylovat třeba tu ikonu v teaseru doleva (float: left), dokud neměla stejnou váhu jako textové pole. Možná to bude i tématem (Pixture_reloaded), ale kdo ví. Samozřejmě lze aplikovat obdobný postup, jako uvádíte ve své knize 333 tipů a triků pro Drupal (číslo tipu si bohužel nepamatuji, ale vím, že to tam je), kdy se do node.tpl.php vypíše vlastní třída pro vytvořený imagefield a ta se při zobrazení políčka v excluded módu nastyluje ve style.css tématu. Přijde mi to ale jako jeden krok navíc...

Odpovědět

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.

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

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