A forum-list.tpl.php fajlba szeretnek beszurni egy kepet a html IMG tagal. Sajnos a src utvonalat a kovetkezo kepen kell megadnom:
src="/mydrupalsite/themes/mydrupaltheme/images/expanded.gif"
Nem lehetne ezt roviditeni ? Probaltam igy:
images/expanded.gif
sajnos nem mukodik!
azert kene a rovidites, mert lehet, hogy meg fog valtozni a forum konyvtar neve, vagy a smink konyvtar neve, nem szeretnek minden IMG tagot atirni.
Fórum:
path_to_theme
Ha változik a sminked, akkor:
path_to_theme függvény visszaadja az éppen használt sminked útvonalát, de akkor egy újabb sminkben neked kell gondoskodnod, hogy az adott állomány a megfelelő helyen legyen.
Páldi Zoltán
ertem
Es kesobb ha megvaltoztatom a .gif fajl nevet Javascriptel, regex-et kene hasznalni? Mert gondolom a path a drupaltol fog valtozni.
Es javascriptben nem mondhatom meg neki, figyelj ott a path_to_theme() fuggveny es keresd ki nekem az utat.
js változó path_to_theme-ből
Egyszerűen tegyél a JS-be egy változót, melynek értéke az aktuális path_to_theme visszatérési értéke és azt használd fel a továbbiakban a JS kódban.
Tipikus ilyen megoldás a $base_url globális változó JS-beli változóként szerepeltetése a Drupal core által, hiszen e nélkül nem is tudnánk normális AJAX-os modult írni. Szóval ez egy teljesen elfogadott trükk.
--
Tolmács Márk
Drupal bandita
ok
sajnos nekem el kene magyarazni mint a hujeknek. Az API doksibol nem ertek sokat, ezert nagyon halas lennek ha irtok egy peldat. Nem ertem tulajdonkepen mit hova kell rakni. En PHP kodot meg nem lattam Javascript kozott.
Mit szeretnél csinálni?
Nézd meg a fórum modulnak milyen sminkelhető függvényei vannak, pl.:
majd az adott smink könyvtárában található (ha nincs, akkor létre kell hozni) egy template.php nevű állomány. Abba belemásolod a kiválasztott theme_forum_valami nevű függvényt, majd átírod a nevét phptemplate_forum_valami-re, majd itt elkezded módosítani a függvény működését. Itt a drupal_to_js-sel átadhatsz változót, tömböt, stb. Ha használni akarsz js-t, akkor itt meghívod a drupal_add_js-sel (a js kódot meghírhatod egy külön fájlba és azt hívod be), majd a js kódban JSON-nal lekérheted az átadott változót.
Talán segít: jQuery & Drupal
Páldi Zoltán
drupal_to_js
Ahogy már tolmi írta, add át a js-nek: drupal_to_js.
Van még egy két okos függvény :)
Szerintem az api.drupal.org-on nézz szét, mert ott minden hasznos függvény dokumentálva van.
Páldi Zoltán
ok
Ezt a fuggvenyt speciel a drupalhoz csinaltak, hogy jQuery-vel mukodjon?
a drupal_to_js fugvenyt a JS kodban hivom meg php tagok kozt?
példa
a drupal_to_js az JSON kommunikációhoz van kitalálva és itt nem is sokat érsz vele. Szimplán csak a modul kódjában ahol aktuális:
vagy ha sminkben akarod elhelyezni, akkor:
...és máris van egy ilyen változód.
--
Tolmács Márk
Drupal bandita
inkább így
Eztán ezt a Drupal.settings.theme_url változóban eléred.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Jogos ;)
Jogos ;)
--
Tolmács Márk
Drupal bandita
ok
erdemes ezt igy csinalni? nem konyebb ha eltarolom egy javascript valtozoban az utvonalat (path) es kesob megvaltoztatom. peldaul jQuery attr("src", path + "masikgif.gif");
A Drupal.settings.path is egy
A Drupal.settings.path is egy "változó", pontosabban egy objektum attribuútuma, de tudsz hozzá értéket rendelni futásidőben is (nem konstans).
Így a válasz az hogy érdemes.
--
Tolmács Márk
Drupal bandita
nem ertem
pp, a kovetkezo sort:
hova irom be? A forum-list.tpl.php fajlba ? Azutan Javaszkriptben meghivom a kovetkezo objektumal (Drupal.settings.theme_url) ?
template.php
én ide tenném, ha sminkelésről van szó, egyébként meg a modulba a megfelelő helyre, ha modulfejlesztésről van szó.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
nem nem
nem modult fejlesztek. Egy nagyon egyszeru dolgot szeretnek. Eloszor is beszurtam egy kepet a forum-list.tpl.php fajlba es annak az utvonalat felhasznalni JS-ben.
Talaltam egy ilyen megoldast is:
gondolom ezert nem erdemes komplikalni a dolgot, velemeny szerint elege nehezkesek a fenti peldak es nem latom ertelmuket :) Bar lehet en gondolkodok rosszul.
Azert jo, mert ha valaki felhasznalna a kodomat es masik konyvtarba van a sminkje nala is mukodni fog. Meg tudtam volna oldani konyebben, peldaul beszurom direkt a smink fele vezeto utat drupal sminkbe es javascriptbe is, de szerintem ez nem olyan jo.
tévedsz
A pp és általam pedzegetett megoldás a tisztességes és korrekt megvalósítás, a tied egy csúnya hekk (bocsi, ez van). Szerencsédre a JS char típus bytehosszfüggetlen....
--
Tolmács Márk
Drupal bandita
Jaja
Azert csunya, mert egy DOM node-bol kiolvasom az erteket? legkozelebb fejlesztek kulon egy drupal modult, hogy lekerdezem a getElementByID-t.
csunya
nem kell megsertodni. az a csunya benne, hogy kesz megoldas helyett, sajat uton probalod megoldani, gyenge eszkozokkel.
olyan a megoldas mintha gyertyaval vilagitanal mikozben karnyujtasnyira toled a villanykapcsolo. romantikus, de vilagossagot nem teremt :)
De legalább egy nő sem
De legalább egy nő sem mondhatja a szoftverfejlesztők 90%-ára hogy nem romantikus alkat (ld. gyertyafény == hekkelt megoldások) :D
--
Tolmács Márk
Drupal bandita