Sminkréteg alapjai

eager képe

Sziasztok, szeretnék betenni egy 'home' gombot egy tpl.php fájlba, és hogy szép legyen, a működési logikát a template.php-ban szeretném kidolgozni.

Ez néhány if-ből állna, majd a nyelvtől meg az $is_front-tól függően definiálna egy változót, amit majd a tpl-ben kiirathatok (a nyelv a href-hez kell, a front meg az aktív classhoz).

A gondom az, hogy:

  • a netem éppen (jobb pillanataiban) 30 KiB/s-t képes teljesíteni, így minden egyes lapozás egy kínszenvedés, és van, hogy nem is sikerül (nem, emiatt a keresőt sem használtam)
  • minden forrás Ádámtól-Évától kezdi a függvények meg a minden ismertetését

Megígérem, hogy megtanulom a sminkréteget kívülről-belülről előre és hátra, de kérlek szépen benneteket, most valaki mondja el, hogy hogyan vihetek át egyetlen árvácska változót a template.php-ből a tpl.php-ig, úgy ahogy azt drupal (7)-ül célszerű.

(és ha tudjátok, akkor a language-re vonatkozó változó nevét is hadd kérdezzem meg...)

(a fenti hekkelésre vonatkozó válasz akkor is érdekel, ha kiderül, hogy van a drupalnak instant-home-gomb megoldása [hadd tanuljak már :)])

Drupal verzió: 
Fórum: 
dj képe

ilyesmi kell a template.php-ba:

  1. function MYTHEME_preprocess_node(&$variables) {
  2. $variables['my_home_button'] = '';
  3. if (feltétel) {
  4. $variables['my_home_button'] = l(t('Home'), '');
  5. }
  6. }

A node.tpl.php-ba pedig:

  1. <?php if (!empty($my_home_button)) : ?>
  2. <div class="my-home-button"><?php print $my_home_button; ?></div>
  3. <?php endif: ?>
2
0

Üdv!
Dudás József

eager képe

Nagyon köszönöm! Közben a sminkneve_preprocess_page()-el a page.tpl.php-ban már sikerült visszakapni, a trükk az, hogy a region--sidebar.tpl.php-ben kéne, még ezzel birkózok :)

ezt olvasom közben: http://drupal.org/node/223430

EDIT:

Köszönöm az ötletet az l() függvényre, érdekes, hogy az 'active' classt mindenre rátette, csak a frontra nem, de ha második argumentumként megkapja a <front> -ot, akkor működik, és az l() i18n-barát is valóban.

Tettem egy contextet is a t()-hez, így könnyebb beazonosítani a sztringet a felület fordításakor. Ha rosszul használtam a contextet, kérem a honosító csapat tagjait, hogy igazítsanak ki (vannak bizonyos kialakulófélben lévő elképzelések a standardizálására (a cikk végefelé keresendő), de részleteket nem tudok). (context forrás)

Update: a függvény ez lett:

  1. function SMINKNEVE_preprocess_region(&$variables) {
  2. $path = '<front>';
  3. $options = array(
  4. 'attributes' => array('id' => 'sidebar-home-btn'),
  5. );
  6. $variables['sidebar_home_button'] = l(t('Home', array(), array('context' => 'Template')), $path, $options);
  7. }
1
0
aboros képe

ez ilyen. a region--sidebar.tpl.php az csak template suggestion, az eredeti a region.tpl.php, tehát a preprocess: template_preprocess_region. tadaaaa:
http://api.drupal.org/api/drupal/includes%21theme.inc/function/template_...

1
0

-
clear: both;