На главную
 
Здесь вы можете проверить, свободен ли
интересующий вас домен, и сколько он стоит
 
Выберите необходимую вам зону
 
Главная CMS Joomla! Инструкция Joomla! PHP-код компонента (пользовательская часть)
PHP-код компонента (пользовательская часть) PDF Печать E-mail

Код простейшего компонента представлен в листинге 9.5

 

Листинг 9.5. Файл mycomponent.php

<?php

// Запрещаем прямой доступ.

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

echo JText::_('hi');

 

Стоит отметить, что ' hi' — это не строка, а языковая константа, которая должна быть определена в языковом файле компонента (см. раздел 9.3.4). Если такая константа не будет найдена в языковом файле, то будет выведено hi — без изменений (и без кавычек).

 

Компонент — довольно сложное расширение. Скорее всего, у вас возникнет необходимость формирования ссылок на свой же компонент. Например, вы создаете компонент, выводящий постранично записи из базы данных. Вам нужно будет формировать ссылки вида:

компонент ?страница=номер

 

В ссылке нужно указывать имя компонента в качестве значения параметра option. Например, если наш компонент называется mycomponent, ссылка будет выглядеть так:

index.php?option=com_mycomponent&page=1

 

Пример:

$п = 5;

$url = " index.php?option=com_mycomponent&page=" . $N;

echo "<a href=$url>$N</a>";

 

В результате будет сформирована ссылка, передающая нашему компоненту переменную $раде. Однако добраться к ней можно не через массивы $_GET и $_REQUEST, как мы привыкли это делать, а через метод getVar:

$page = 0;

$page = JRequest::getVar( 'page1 );

 

Советую сначала инициализировать все необходимые вам переменные, а затем проверять существование переменной вот таким способом:

if(JRequest::getVar( 'page' )) { // Переменная page существует.

 

Если вы планируете помещать в базу данных ввод пользователя, рекомендую сначала отформатировать его с помощью метода getEscaped, иначе, если ввод содержит кавычки и другие запрещенные в SQL символы, при добавлении записи возникнет ошибка:

$db =& JFactory::getDBO();

$Email = "'" . $db->getEscaped(JRequest::getVar( 'email')) . "'"; $Uname = "'" . $db->getEscaped(JRequest::getVar( 'uname')) . "'";

$insertQuery = "INSERT INTO #_mycomponent VALUES ($Uname, $Email)";
 

Новости

Статистика

Просмотры материалов : 1256746

Кто на сайте

Сейчас 269 гостей онлайн
 
 
 
 
Партнер REG.RU Мы принимаем WebMoney, Здесь находится аттестат нашего WM идентификатора 110005872604 Мы принимаем QIWI Мы принимаем Яндекс.Деньги Мы принимаем Z-PAYMENT
Разработка сайтов компания “СВАРОГ”
© 2012 Host Solutions - Хостинг и регистрация доменов. Все права защищены.
Дизайн, Разработка сайтов компания “WEB-SVAROG”