rozšíření podmínky

Dobrý den,

poradí mi prosím někdo jak rozšířit tento kód o podmínku kde by se zobrazoval text ještě dle jazykové verze webu?

function framework_preprocess_page(&$vars) {
$vars['tabs2'] = menu_secondary_local_tasks();

// Titles are ignored by content type when they are not desired in the design.
$vars['original_title'] = $vars['title'];
if (!empty($vars['node']) && in_array($vars['node']->type, array('services'))) {
$vars['title'] = 'Přehled našich služeb';
}

 

Děkuji

Profile picture for user Jan Polzer

Předpokládám, že máte na mysli spíše jazykovou verzi daného uzlu, ne? Ta je k dispozici v $node->language. Aktuální jazyk webu je dostupný v proměnné $language.

návštěvník

Proměnou jsem našel, jak by tedy měla vypadat celá konstrukce aby reagovala jak na typ NODE tak na jazyk?

Děkuji

návštěvník

Nevíte proč mi tento kód funguje? proč se mi zobrazuje jen český nadpis?

function framework_preprocess_page(&$vars) {

  $vars['tabs2'] = menu_secondary_local_tasks();

 

  // Titles are ignored by content type when they are not desired in the design.

  $vars['original_title'] = $vars['title'];

  if (!empty($vars['node']) && in_array($vars['node']->type, array('services'))) {

    if (!isset($language) or empty($language) or $language->language == 'cs') // vychozi jazyk je cestina, tedy kdyz lang neni nastavene

      {$vars['title'] = 'Přehled našich služeb';}

    else if ($language->language == 'en')

      {$vars['title'] = 'Our services';}

  }

  else if (!empty($vars['node']) && in_array($vars['node']->type, array('product'))) {

    if (!isset($language) or empty($language) or $language->language == 'cs')

      {$vars['title'] = 'Přehled nabízených produktů';}

    else if ($language->language == 'en')

      {$vars['title'] = 'Overview of the offered products';}

 

  }

  else if (!empty($vars['node']) && in_array($vars['node']->type, array('news'))) {

    if (!isset($language) or empty($language) or $language->language == 'cs')

      {$vars['title'] = 'Aktuality';}

    else if (¤language->language == 'en')

      {$vars['title'] = 'News';}

  }

}

 

Děkuji za pomoc

Profile picture for user Jan Polzer

Pokud dobře koukám, chybí vám tam před použitím $language ještě toto:

global $language;

návštěvník

a můžete mi prosím napsat kde přesně mi to chybí?

na začátku,  deklaraci proměných?

návštěvník

tak už to funguje

na začátku musí být ta deklarace "global $language;"

děkuji za nákop ;-)

Profile picture for user Jan Polzer

Přesně tak. Podobně je třeba inicializovat i globální proměnnou $user, pokud chcete přistupovat k údajům o aktuálně přihlášeném uživateli.

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

Poslední komentáře
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