Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет курсак.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
750.59 Кб
Скачать

1.3Программная реализация сайта

Для разработки сайта использовалась CMS Joomla со встроенным языком программирования php, html5.

Наиболее используемые выражения в ходе разработки сайта, были:

Вывод название папки шаблона,

$this->template

например, выражение:

<img src="templates/<?php echo $this->template; ?>/images/something.png">

Позволяет вставить нужную картинку в любое мест шаблона.

А вот два варианта автоматического вывода основной ссылки на ваш сайт

JURI::base()

Выводит url вашего сайта в виде http://www.yoursite.com

Вторая переменная возвращает относительный путь к корневой директории без http://yoursite.com

$this->baseurl

Вывод содержимого только на главной или только на внутренних страницах с привязкой к меню

В обеих случаях в начале, в основном коде шаблона, создаем функцию:

<?php

$menu = & JSite::getMenu();

?>

Ее можно и не создавать в основе, а создать прямо в месте применения. Но лучше вынести в заголовок. А потом только обращаться при необходимости.

Далее, если нужно показать контент только на главной странице, то используем конструкцию типа:

<?php

if ($menu->getActive() == $menu->getDefault()) {

echo 'Здесь вставляем необходимое, можно и HTML код';

}

?>

А если нужно показать контент на всех страницах кроме главных, то можно использовать конструкцию типа:

<?php

if ($menu->getActive() != $menu->getDefault()) {

echo 'Здесь вставляем необходимое, можно и HTML код';

}

?>

Вывод содержимого при различных запросах Joomla!

Переменная

JRequest::getVar('view')

Возвращает информации о странице, которая отображена в данный момент (кроме главной!). Ее использование полезно в случае, если вам необходимо определить некое действие в шаблоне при условии вывода того или иного типа контента.

Например:

<?php if(JRequest::getVar('view') == ('article')) { ?>

[Вставте нужное]

<?php } else { ?>

[Вставте нужное]

<?php } ?>

Данный код выведет определенное содержимое, когда у нас выводится какая-либо статья, и скроет его в другом случае.

А если мы хотим вывести какое-либо содержимое при условии использования того или иного компонента Joomla!, нужно использовать эту же переменю но в другой конструкции:

Сначала определяем функцию с помощью указанной выше переменной, но с другим определением

<?php $option = JRequest::getVar( 'option' );?>

А далее выводим в нужном месте шаблона условие, например:

<?php if($option == 'com_weblinks') {?>

<jdoc:include type="modules" name="user2" style="raw"/>

<?php } ?>

Вывод разного содержимого в шаблоне для разных пользователей

Вот код основного условия:

<?php

$theuser = JFactory::getUser();

$usertype = $theuser->get('[Сюда ставим атрибут]')

if($usertype == '[Сюда ставим значение атрибута]') { ?>

[Сюда ставим, что угодно]

<?php } ?>

[Сюда ставим атрибут] — в данном случае используем следующее

id: ID пользователя

name: имя пользователя

aid: идентификатор уровня доступа ( 0 для всех, 1 для зарегистрированных, и 4 испециальный уровень доступа)

gid: идентификатор группы пользователя ( 19 автор, 20 редактор, 22 издатель, 23 менеджер, 24 администратор, и 25 суперадминистратор

guest: только для гостей (когда пользователь зарегистрирован, то переменная гостя равна 0)

usertype: тип пользователя (registered, author, editor, publisher, manager, administrator, and super administrator)

[Сюда ставим значение атрибута] — подразумевает соответствующее значение для определенного атрибута.

Для наглядности — вот простой пример:

<?php

$theuser = JFactory::getUser();

$usertype = $theuser->get('name');

if($usertype == 'Hiway') { ?>

Привет Hiway

<?php } ?>

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