О проекте

Проект 9999p.ru создан для людей, ценящих время и средства. Он поможет вам создать качественный сайт за короткий срок и очень недорого!  Суть его - в разработке сайта на основе готовых решений, которые позволяет зарабатывать другим пользователям уже давно!

Преимущества

Преимущества такой разработки очевидны:

  1. Скорость внедрения
  2. Невысокая стоимость
  3. Высокое качество
  4. Ожидаемый результат

Все включено

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

  • Регистрация домена
  • Регистрация хостинга
  • Дизайн сайта
  • Верстка сайта
  • Система управления сайтом
  • Наполнение сайта
  • Публикация сайта в интернете
  • Добавление в поисковые системы

Выполненные работы

Мы создали для наших клиентов

И сейчас занимаемся разаботкой новых. Заказать сайт


Создание пользовательских типов параметров шаблона

Можно расширить типы параметров, что Joomla может поддерживать за рамки стандартных типов, доступных в установки по умолчанию. Чтобы понять, как это сделать, сначала рассмотрим, как стандартные типы реализуются.

Расположение стандартный код типы параметров

Код для стандартных типов параметров можно найти в каталоге

[path-to-Joomla]/libraries/joomla/html/parameter/element/

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

[path-to-Joomla]/libraries/joomla/html/parameter/element/category.php

Этот файл содержит один класс, называемый JElementCategory которая простирается JElement. Именования файлов и классов, используемых здесь это не просто конвенции. Файл должен иметь то же имя, тип параметра и он должен содержать класс, называемый JElement [element-name] в противном случае Joomla Рамочной не будет в состоянии признать и поддержать параметр типа.

Начиная новый пользовательский тип параметра

Чтобы создать пользовательский тип параметра, который в первую очередь необходимо выбрать для него имя. Предположим, вы хотите назвать это newparm. Тогда вы будете создавать новый файл с именем newparm.php содержащий один класс, называемый JElementNewparm которая простирается JElement.

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

Новый параметр типа, скорее всего, связано с определенным расширением, и в этом случае вам нужно будет расслоение код для параметра типа с кодом для расширения.

Где вы поместите этот файл несколько гибкая и зависит до некоторой степени от типа расширения, которое вы разрабатываете. Для шаблонов рекомендуется поместить его здесь

path-to-Joomla]/templates/[template-name]/elements/newparm.php

 

TChanges в файл XML для пользовательских типов параметров

Вам необходимо сделать два конкретных поправок в файл конфигурации XML. Во-первых, необходимо убедиться, что файл включен в список :

<files>
    ........
    <filename>elements/index.html</filename>
    <filename>elements/newparm.php</filename>
    ........
</files>

Совет: Хорошей практикой является также включать пустой файл index.html в каталоге элементы, как дополнительные меры предосторожности, безопасности, чтобы предотвратить списки каталогов возвращаются на веб-сервере.

Кроме того, можно просто включить весь каталог элементов, используя элемента:

   <files>
    ........
    <folder>elements</folder>
    ........
</files>

Вторая поправка, что вам нужно сделать, чтобы файл конфигурации XML является пусть Joomla Рамочной знаю, что вы добавили новый параметр типа и где найти код для его поддержки. Для этого вам добавить addpath аргумент теги:

 <params addpath=”[path]/elements”>
   ...... list of <param> elements ......
</params>
 

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

Например, это будет типичный элемент в templeDetails.xml файл:

<params addpath=”[path-Joomla]/templates/mytemplate/elements”>
    <param type=”newparm” name=”setting1” default=”12/>
    <param type=”text” name=”setting2” value=”Some text” />
</params>

 

Кодирование пользовательский тип параметра

Самый простой способ, чтобы написать код для нового типа параметра взять код для существующего типа параметра, который похож на то, что вы хотите создать и адаптировать его в соответствии с вашими требованиями. Базовый класс JElement содержит почти все, что вам нужно, и для большинства типов параметров вам нужно будет только для переопределения fetchElement метод в класс расширений.

FetchElement метод возвращает код HTML, необходимые для визуализации поля, которые будут использоваться для ввода значения параметра. Он принимает четыре аргумента:

fetchElement( $name, $value, &$node, $control_name )

где:
$name                                уникальное имя параметра, от имени аргумента.
$value                                 текущее значение параметра.
$node                                 JSimpleXMLElement объект, представляющий элемента.
$control_name                    является параметром типа от типа аргумента ("категории" например, или "newparm)

Чтобы получить значение аргумента в элемент вы используете атрибут метод объекта JSimpleXMLElement прошло в $ node. Например, чтобы получить значение класса аргумент можно использовать такой код

$class = $node->attributes( 'class' );

Например, вот fetchElement метод простой вариант параметра типа текста (текущая версия является более сложным):

function fetchElement( $name, $value, &$node, $control_name )
{ 
    $class = $node->attributes( 'class' ) ? $node->attributes( 'class' ) : "text_area";
 
    $return = '<input type="text"' .
                     'name="' . $control_name . '[' . $name . ']"' .
                     'id="'   . $control_name . '[' . $name . ']"' .
                     'value="' . $value . '"' .
                     'class="' . $class . '" />'; 
    return $return;
}

Обратите внимание, что поля параметра должны иметь атрибут со значением показано в этом примере, так что элемент

fetchTooltip( $label, $description, &$node, $control_name=,$name= )

где:

$label является строка, заданная на этикетке аргумент определение. Он должен быть пропущен через систему перевода языка перед использованием.
$description это строка в описании аргумента определение. Он должен быть пропущен через систему перевода языка перед использованием.
$node является объектом JSimpleXMLElement представляющих элемента.
$control_name является параметром типа от типа аргумента ("категории" например, или "newparm ').
$name это уникальное имя параметра, от названия аргумента.

Чтобы передать строку с помощью системы перевода вам просто необходимо использовать JText статического класса, как это

$output = JText::_( 'string to be translated' );