Sziasztok!
Elérési utakkal kapcsolatos problémám van. Saját külső fájlból próbálok Drupal-függvényeket hívogatni (include-olva a megfelelő Drupal-fájlokat), de sajnos mindig belekerülök abba a problémába, hogy az aktuális fájl könyvtárának elérési útját is belerakja az l() és theme() függvényhívások hatására.
BŐVEBBEN (remélem lesz valaki, aki ki tudja bogozni, miről is beszélek :D):
Saját külső fájlomból, nem Drupalba beépített modulból hívom meg az <a href="http://api.drupal.org/api/drupal/includes--common.inc/function/l/6">l()</a>
és <a href="http://api.drupal.org/api/drupal/includes--theme.inc/function/theme/6">theme()</a>
függvényeket, de a Drupal alkönyvtárainak egyikéből (/sites/all/themes/myTheme/templates/php
).
Hadd ne indokoljam hosszan, miért, a lényeg, hogy írtam egy saját osztályt, aminek a metódusait AJAX-szal hívogatom, de Drupal-modulba beépíteni több macera lett volna, mint amennyi idő alatt csináltam ennyit (csúf kerülő megoldás, hogy az elérési utak az include-oláshoz stimmeljenek, de most nem érdekel, hogy ronda):
// tároljuk az aktuális working directory-t, majd rootra váltunk
$currdir=getcwd();
chdir($_SERVER['DOCUMENT_ROOT']);
require_once("./includes/bootstrap.inc");
$cookie_domain = $_SERVER['HTTP_HOST'];
drupal_bootstrap( DRUPAL_BOOTSTRAP_FULL );
// saját kódom...
// ....
// visszaváltjuk a working directory-t
chdir($currdir);
Legfeljebb később tervezem beépíteni, most ez lesz a "megoldás".
A kérdés:
A saját kódban ezt a függvényt hívom:
$imagecache_profile_picture_with_link = l(
theme(
'imagecache',
'profile_pictures_blablabla_ez_a_sajat_preset',
$profile_pic_array['filepath'],
$pic_alt_text,
$pic_title_text
),
'user/'.$user->uid,
array(
'html' => true,
)
);
Az elérési útvonal viszont itt (hiába használom a "csodálatos" chdir($_SERVER['DOCUMENT_ROOT']);
függvényt) az aktuális fáljhoz képesti lesz, tehát ilyen:
<a href="/sites/all/themes/myTheme/templates/php/users/ez_egy_felhasznalo_adatlapja">
<img src="http://ez_az_en_drupal_oldalam.hu/sites/all/themes/myTheme/templates/php/sites/default/files/imagecache/profile_pictures_blablabla_ez_a_sajat_preset/imagefield_default_images/default_avatar1.gif" alt="Profile picture of Valaki..." title="Profile picture of Valaki..." class="imagecache imagecache-profile_pictures_blablabla_ez_a_sajat_preset" width="60" height="60" />
</a>
Ebből nekem csak ez kellene:
<a href="/users/ez_egy_felhasznalo_adatlapja">
<img src="/sites/default/files/imagecache/profile_pictures_blablabla_ez_a_sajat_preset/imagefield_default_images/default_avatar1.gif" alt="Profile picture of Valaki..." title="Profile picture of Valaki..." class="imagecache imagecache-profile_pictures_blablabla_ez_a_sajat_preset" width="60" height="60" />
</a>
Tehát az aktuális fájl elérési útja (/sites/all/themes/myTheme/templates/php
) ne kerüljön már bele...
Ez elérhető valahogy?
Most ne azt javasoljátok, hogy "ugyan pakold már bele egy modulba, vazze". :D
Köszi!