Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Samouchitel_po_razrabotke_rasshireny_dlya_Jooml....docx
Скачиваний:
3
Добавлен:
10.11.2018
Размер:
2.53 Mб
Скачать

Пробуем различные стили

Вспомогательный класс [или класс helper. прим.переводчика], ничего не выводит. Вместо этого, renderReview() форматирует ссылки, а затем вызывает JModuleHelper функцию getLayoutPath() чтобы подключить стиль-файл с именем _review.

Создайте папку tmpl в /modules/mod_reviews, и файл _review.php внутри tmpl с такими строками:

<?php defined('_JEXEC') or die('Restricted access'); ?>

<a href="<?php echo $link ?>"><?php echo $review->name; ?></a><br />

Соглашение о нижнем подчеркивании в начале _review служит для напоминания нам, что стиль предназначен для внутреннего использования. Он не будет предлагается в качестве выбора администратору. В дополнение к этому внутреннему стилю, мы можем создать другие стили с различными вариантами отображения. Для начала мы создадим один с именем default. Добавьте файл default.php в /modules/mod_reviews/tmpl с таким кодом:

<?php

defined('_JEXEC') or die('Restricted access');

foreach ($list as $review){

modReviewsHelper::renderReview($review, $params);

}

?>

Обратите внимание, что этот стиль проходит циклом по списку Обзоров, вызывая функцию класса helper, которая готовит одиночное отображение, которое в свою очередь загружается в стиль _review. Используя такой же метод, мы создадим стиль маркированного (bulleted) списка. Создайте файл bulleted.php в /modules/mod_reviews/tmpl и добавьте следующий код для создания ссылок в виде маркированного списка:

<?php defined('_JEXEC') or die('Restricted access'); ?>

<ul>

<?php

foreach ($list as $review)

{

echo "<li>";

modReviewsHelper::renderReview($review, $params);

echo "</li>";

}

?>

</ul>

Стиль маркированного списка использует ту же основную логику, что и стиль default с той лишь разницей, что она выводится маркированной. Оба варианта в конечном итоге загружают стиль _review через вспомогательную функцию, обеспечивая форматирование ссылок в соответствии со стилями отображения.

Теперь у нас есть два различных варианта отображения и вспомогательный класс, но ничего из этого еще доступно в Модуле. Откройте mod_reviews.php и замените содержимое следующим кодом:

<?php

defined('_JEXEC') or die('Restricted access');

require(dirname(__FILE__).DS.'helper.php');

$list = modReviewsHelper::getReviews($params);

require(JModuleHelper::getLayoutPath('mod_reviews'));

?>

Первый require() подключает вспомогательный класс, что мы только что написали. Далее, мы получаем сортированный набор последних Обзоров. Наконец, мы используем getLayoutPath(), чтобы получить отображение в стиле. При отсутствии второго параметра в getLayoutPath() будет подгружен стиль default.

Сохраните все открытые файлы и обновите главную страницу в браузере. Модуль должен выглядеть так же, как и в последнем скриншоте. Теперь вернемся к mod_reviews.php и отредактируем вызов getLayoutPath() так, чтобы вызывался стиль маркированного списка, а не default:

require(JModuleHelper::getLayoutPath('mod_reviews', 'bulleted'));

Сохраните все файлы и обновите страницу в браузере. Модуль должен выглядеть примерно так:

Было бы неплохо, если бы мы могли показать небольшую часть Обзора вместе с каждой ссылкой. Вернитесь в /modules/mod_reviews/tmpl/_review.php и добавьте следующий выделенный код

<a href="<?php echo $link ?>"><?php echo $review->name;

?></a><br />

<p>"<?php echo $review->quicktake ?>"</p><br />

Обновите страницу в браузере. Если вы заполнили поле quicktake в ИА, Вы должны увидеть что-то подобное:

Вернитесь к mod_reviews.php и установите второй параметр getLayoutPath() как default. После сохранения файла и обновления браузера, вы должны увидеть те же Обзоры и кавычки, как и раньше, только без маркирования. Хотя стиль и меняется, выход из _review остается постоянным

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]