Я сейчас пытаюсь сделать модуль переводимым, используя t () для всех Hard-Codes-Strings. Так как я просто вызываю t (), как рекомендовано в документации, я понятия не имею, что я могу делать неправильно. Я звоню в block_theme моего модуля.
Hook_theme ();
Не, если это важно ...
/* # Themes {{{*/
function catchy_overview_theme() {
return array(
'catchy_overview_block' => array(
'template' => 'catchy_overview_block',
'arguments' => array('nodes' => null, 'terms' => null, 'imagecache_preset' => imagecache_preset(variable_get("catchy_overview_imagecache_preset", null)))
)
);
}/*}}}*/
catchy_overview_block.tpl.php
<?php
/*
* Catchy Overview Block Template
*
* Defined Vars:
* $nodes All collected nodes grouped by tid
* $terms Taxonomy-Array-Map tid => Name
* $imagecache_preset The configured imagecache preset.
*/
?>
<ul class="catchy-overview">
<?php foreach ($nodes as $key => $value) { ?>
<li class="term term-<?php print $key?>">
<h2><?php print t( $terms[$key] ) ?></h2>
<ul>
<?php foreach ($value as $node) { ?>
<li class="node node-<?php print $node->nid ?>">
<?php
$image = theme_imagecache($imagecache_preset['presetname'], $node->field_photo[0]["filepath"], $node->title, $node->title);
print l($image . "<span>" . $node->title . "</span>", 'node/'.$node->nid, array('html' => true));
?>
</li>
<?php } ?>
</ul>
</li>
<?php } ?>
</ul>
Термин, подлежащий переводу и печати, находится в пределах <h2>
, который является термином таксономии, который я получаю с помощью SQL-запроса:
$terms_result = db_query("
SELECT tid, name
FROM {term_data}
WHERE vid = '".variable_get('catchy_overview_vocabulary_id', false)."'
");
Я действительно надеюсь, что вы поможете мне. Если вам нужна дополнительная информация, не стесняйтесь комментировать ... Я сейчас в замешательстве.