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

Fórum: 

Volná místa v IT

Další pracovní místa najdete na stránce Volná pracovní místa v IT.

Reklama

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.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

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

Děkuji

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

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

global $language;

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.

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

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

tak už to funguje

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

děkuji za nákop ;-)

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.

Majitel Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal. Jsem i na Twitteru.