Feladatul kaptam, hogy az útvonalban (breadcrumb) jelenjen meg az aktuálisan megjelenített tartalom címe is. Úgy gondoltam, hogy a smink módosításával érdemes megoldani a problémát, hiszen az útvonalak összeállítása különböző helyeken történik a Drupalban.
Megkerestem a következőt a page.tpl.php
-ben (phptemplate esetén)
print $breadcrumb;
Majd lecseréltem a következőre:
mb_regex_encoding('utf-8'); print mb_ereg_replace('</div>',' ? '.$title.'</div>',$breadcrumb);
Persze lehetett volna "egyszerűbben" is:
print $breadcrumb.' ? '.$title;
Ekkor viszont a $title nem kerül bele a megfelelő <div>
elembe így nem lesz hasonlóan formázva mint az útvonal többi eleme.
Fontos felhívni a figyelmet, hogy mindig a multibyte string függvényeket használjuk, hisz a Drupal UTF-8 kódolással tárolja a szövegeket, és magyarok lévén nagy valószínűséggel találkozunk olyan esettel, amikor a hagyományos szövegkezelő függvények nem működnek megfelelően.
Hozzászólások
miért nem str_replace()?
Én nem látok problémát az str_replace() használatával itt. A jóra oktatás (mindig használjuk mbstring függvényeket és akkor tuti nem rontjuk el) elvét félretéve van valami konkrét probléma az str_replace() használatával itt?
Volt már nagy pofáraesés belőle ;)
Egyszer az volt a feladat, hogy a címek első karaktere legyen piros, a többi meg kék. Ezt úgy oldottam meg, hogy az első karaktert lecseréltem egy
<span class="elso">(elsőkarakter)</span>
részre. Minden frankón működött is. Mindaddíg amíg be nem írtak egy olyan címet, ahol az első karakter ékezetes volt. Na ekkor jött az ööö, meg az aaa, meg az izé..utánanézek stb. Szoval picit kellemetlen volt, hogy lövésem sincs mi van ;) Ezt az unalmas története meg nem akartam érthetően, de röviden megfogalmazni.Szóval ebben az esetben megfelelő megoldás az str_replace, de nem javasolt ;)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
api
én a
megoldást választanám ha hozzá akarnék adni valamit az útvonalhoz például a theme/sminkem/template.php fájlban a
function _phptemplate_variables()
függvényben.Persze csak ha phptemplate-et használ az ember. Én smarty-t használok, már hozzászoktam.
De az is lehet hogy nem jól értelmeztem a feladatot, mert számomra zavaros :)