Здравствуйте, экспереминтирую с модулесозданием )
Не могу разрбраться, как сделать чтобы блок выводил вот такое соержимое
<?php
<section class="content-section video-section">
<div class="pattern-overlay">
<a id="bgndVideo" class="player" data-property="{videoURL:' тут адрес видео параметр ',containment:'.video-section', quality:'highres', autoPlay:true, mute:true, opacity:1}">bg</a>
<div class="container">
<div class="col-lg-12">
<h1> Тут заголовок 1 </h1>
<center>Тут заголовок два</center>
</div>
</div>
</div>
</section>
?>
Пока что созрел только вот до этого....
<?php
function ytvideobg_block_info() {
$blocks = array();
$blocks['youtube_block'] = array(
'info' => t('YouTube Video Block'),
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
function ytvideobg_block_view($delta = '') {
if ($delta == 'youtube_block'){
$block = array();
$block['subject'] = '';
$block['content'] = array(
'#theme' => 'html_tag',
'#tag' => 'div',
'#attributes' => array(
'class' => 'pattern-overlay',
),
'css' => array(
drupal_get_path('module', 'ytvideobg') . 'css/ytvideobg.css',
),
);
return $block;
}
return $block;
}
?>
Помогите, пожалуйста, найти решение
Комментарии
Используйте tpl - так на первых порах Вам будет удобней. Пишите например
$block['content'] = array(
'#theme' => 'youtube',
'#videoURL' => 'http://...',
'#title1' => t('Title 1'),
'#title2' => t('Title 2'),
);
....
function ytvideobg_theme(){
return array(
'youtube' => array(
'variables' => array('videoURL' => NULL, 'title1' => NULL, 'title2' => NULL),
'template' => 'youtube',
),
);
}
В папку модуля помещаете youtube.tpl.php
где можно использовать $videoURL, $title1, $title2
Спасибо большое! Теперь понял... А как обернуть в t('') переменную из variable_get? Значение переменное (тот же заголовок передается из админ панели модуля и хотелось бы чтобы он был переводимым).
'#theme' => 'youtube',
'#videoURL' => variable_get('ytvideobg_default_video_url'),
'#title1' => variable_get('ytvideobg_default_title_text'),
'#title2' => variable_get('ytvideobg_default_description_text'),
посмотрите в сторону модулей variable и i18n
Как в самом модуле обернуть в тэ пока что не понял... Но сделал на уровне youtube.tpl.php - обернул в t значение title перед выводом...
Напишите здесь как обернули ?!
<?php<h2><?php print t($title1); ?></h2>
<h2><?php print t($title2); ?></h2>?>
И так я могу найти строку на странице перевод интерфейса...
t($title2) - не drupal way, разрешено типа t('My comment @count', array('@count' => $count));
С @count у меня мозг взорвался... А если попроще, как мне применить это в варианте с title?
Можно например t('@title', array('@title' => $title)); в tpl прописать, но это не решит вопрос перевода переменной, как я уже и писал - надо будет использовать https://www.drupal.org/project/variable + https://www.drupal.org/project/i18n
Я понял Вас.
Спасибо большое. Буду ковыраться дальше. Спасибо за грамотные ответы!