RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Использование параметров в модуле

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

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

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>testmodule3</name>
    <author>Joomla-book.ru</author>
    <version>1.0</version>
    <description>TEST #3 Joomla-book.ru module</description>
    <files>
        <filename module="mod_testmodule3">mod_testmodule3.php</filename>
    </files>
    <params>
        <param name="saluteguest" type="text" default="Hello stranger" label="gsalute" description="Salute text for guests" />
        <param name="saluteregistered" type="text" default="Welcome" label="rsalute" description="Salute text for registered users" />
    </params>
</install>

Таким образом мы объявим два текстовых поля (одно строчных). В панели администратора это будет выглядеть примерно так:

 

Пример настроек модуля

А в следующем листинге мы получим значение установленных настроек в коде нашего модуля

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

    $user = JFactory::getUser();

    // Получаем установленные параметры
    $saluteg = $params->get("saluteguest");
    $saluter = $params->get("saluteregistered");

    // В зависимости от типа посетителя сайта, выводим сообщение
    if ($user->guest) {
        echo "<p>$saluteg</p>";
    } else {
        echo "<p>$saluter</p>";
    }
?>

Следующим шагом, расширим параметры нашего модуля полем типа textarea, и переключателем со значениями Да и Нет.

<params>
    <param name="tosalute" type="radio" default="1" label="Salute users?" >
        <option value="0">No</option>
        <option value="1">Yes</option> 
    </param>
    <param name="saluteguest" type="textarea" default="" rows="4" cols="40" label="Guest users salute" description="Salute text for guests" />
    <param name="saluteregistered" type="textarea" default="" rows="4" cols="40" label="Registered users salute" description="Salute text for registered users" />
</params>

Выглядит это  следующим образом

Пример настроек модуля

Использование настроек модуля в php для других типов настроек ничем не отличается:

<?php
    defined('_JEXEC') or die('Restricted access');
    $user = JFactory::getUser();
 
    // Получаем значения настроек
    $tosalute = $params->get("tosalute");
    $saluteg = $params->get("saluteguest");
    $saluter = $params->get("saluteregistered");
 
    if ($tosalute) {
        if ($user->guest) echo "<p>$saluteg</p>";
            else echo "<p>$saluter</p>";
    }
?>

Смотрите также:
Комментарии (17) Добавить комментарий
  • Роман
    Роман
    13 Августа 2011, 21:27
     ↑  +7  ↓     ответ

    Каким образом можно сделать список с множественным выбором в качестве параметра? Нужно, чтобы в админке можно было выбрать несколько взятых из базы названий. Где про это почитать? (можно по-английски)

  • Денис
    Денис
    24 Августа 2011, 23:49
     ↑  0  ↓     ответ

    Что-то под 1.7 не работает пример.

    Что тут надо поправить?

    • Ольга
      Ольга
      15 Февраля 2012, 21:04
       ↑  +4  ↓     ответ

      XML файл будет выглядеть немного по-другому для Joomla 1.7

  • Пётр
    Пётр
    16 Октября 2011, 03:22
     ↑  +1  ↓     ответ

    Подскажите пожалуйста а как добавить в модуль текстовый редактор по типу как сделано в модуле mod_custom?

    • job
      job
      18 Марта 2014, 23:49
       ↑  +1  ↓     ответ

      Все просто, описал как это делается slovu.net/coding/joomla/1057-rasshiryaem-nastrojki-modulya-dobavlyaem-tekstovyj-redaktor-kak-v-module-mod-custom

  • Ирина
    Ирина
    20 Января 2012, 16:22
     ↑  +1  ↓     ответ

    Отличная инфа, очень помогло!

  • Денис
    Денис
    02 Июня 2014, 15:05
     ↑  0  ↓     ответ

    Добрый день.

    Вопрос - есть ли какие то нюансы при работе с Joomla 3.0. Или же данный урок подходит для сей CMS без каких бы то нибыло изменений?

  • Егор
    Егор
    21 Декабря 2014, 23:52
     ↑  0  ↓     ответ

    Доброго времени суток. Подскажите пожалуйста как получить значение например из email

    <field name="email"

    type="text"

    default=""

    label="EMAIL"

    description="EMAIL">

    </field>

  • Егор
    Егор
    22 Декабря 2014, 01:05
     ↑  +1  ↓     ответ

    если в modules/modules_mod/tmpl/default.php

    вставить echo $email; то выведет значение. А если для отправки почты я использую отдельный файл. Как в нем получить значение?

  • JeanninePond
    JeanninePond
    14 Февраля 2017, 12:54
     ↑  0  ↓     ответ

    I see your site needs some fresh & unique content.

    Writing manually is time consuming, but there is solution for this.

    Just search for: Masquro's strategies

  • Johny Jackson
    Johny Jackson
    19 Января 2018, 10:31
     ↑  0  ↓     ответ

    Hi to all, since I am in fact keen of reading this website's post to

    be updated on a regular basis. It contains nice stuff.

  • срочно оформление визы в мексику
    срочно оформление визы в мексику
    08 Мая 2018, 17:22
     ↑  0  ↓     ответ

    срочно оформление визы

    в мексику

  • нотариально заверенная доверенность на курьера в болгарию что это такое
    нотариально заверенная доверенность на курьера в болгарию что это такое
    21 Мая 2018, 10:22
     ↑  0  ↓     ответ

    нотариально заверенная доверенность на курьера в болгарию что

    это такое

  • gamekiller download
    gamekiller download
    06 Июля 2018, 13:19
     ↑  0  ↓     ответ

    It's an awesome paragraph in support of all the online viewers; they will take advantage from it I

    am sure.

  • The Hot Water Plumbr
    The Hot Water Plumbr
    05 Января 2019, 11:10
     ↑  0  ↓     ответ

    T?ere are 2 types of solar powered wwater heaters,

    and they ?re general?y flat plate collectors аnd evacuated tube water heaters.

    Уou ?оn't nedd to concern yo?rself with utility

    companies сonstantly raising tthe costs оf youг rspective propane or electricity iif уоu

    ?ѕe solar energy t? heat ?o?r home'ѕ water.

    T?еse systems heat th? lake ?y usіng passsing watewr wіt? solar collectors ?pon t?e roof of the hоme.

  • gamefly free trial
    gamefly free trial
    23 Мая 2019, 14:44
     ↑  0  ↓     ответ

    At this time it sounds like BlogEngine is the best blogging platform out there right now.

    (from what I've read) Is that what you are using

    on your blog?

  • how to get help in windows 10
    how to get help in windows 10
    26 Мая 2019, 15:47
     ↑  0  ↓     ответ

    Hi! Do you use Twitter? I'd like to follow you if that would be okay.

    I'm undoubtedly enjoying your blog and look forward to new posts.

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.