Joomla 1.5 Добавление своих параметров в настройки компонента

Тема в разделе "Модернизация расширений", создана пользователем spark95, 23.07.2011.

  1. Offline

    spark95 Недавно здесь

    Регистрация:
    31.08.2010
    Сообщения:
    11
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте, я модифицирую компонент для создания опросов JQuarks под свои нужды. По окончании прохождения теста, юзеру высвечивается страница с количеством и процентом правильных ответов. Так вот. Я хочу что бы после прохождения теста, в зависимости от процента правильных ответов, высвечивались разные меседжи.
    Код (html):
    1. <p>
    2.     <h3>
    3.         <font color="#cc0000" face="sans-serif, Arial" >
    4.             <?php if ($percent < $barrier){echo JText::_('PROVAL');}?>
    5.         </font>
    6.         <font color="#33cc00" face="sans-serif, Arial">
    7.             <?php if ($percent >= $barrier) {echo JText::_('USPEH');} ?>
    8.         </font>
    9.     </h3>
    10. </p>

    Если вместо переменной $barrier подставить числовое значение, то всё прекрасно работает. Но мне нужно изменение этой переменной через админку компонента.
    [​IMG]
    После нажатия на кнопку "Параметры", открывается окошко базовых параметров.
    [​IMG]
    Как видите, я добавил графу BARRIER. Значение, находящееся в ней должно равняться переменной $barrier.
    Графу я добавил путём изменения administrator\components\com_jquarks\config.xml
    Код (html):
    1. <param name="barrier" type="text" default="90" label="BARRIER" decription="BARRIER_DESCRIPTION"/>

    Но похоже, этого не достаточно, ибо при наведении курсора на надпись "BARRIER" не отображаеться жёлтое пояснительное окошко, несмотря на прописаное в файле локализации описание.
    Товарищи, как мне правильно добавить в настройки эту графу и в файл вывода результата опроса (components\com_jquarks\views\_session\tmpl\default.php) прописать значение переменной $barrier?
    В файл вывода результата опроса вроде такое надо вписать:

    Код (PHP):
    1. <?php
    2. $this->_params['barrier']= $barrier;
    3. ?>

    Насчёт необходимы для подгрузки настроек не знаю..
    Но $this->_params['barrier'] вероятно пустая, ибо при попытке вывести на экран значение переменной путём
    Код (PHP):
    1. <?php echo '<pre><font size="large">';
    2. echo ($this->_params['barrier']);
    3. echo "</font></pre>"; ?>

    ничего не происходит.
    Помогите, пожалуйста! :(
     
  2.  
  3. vesy
    Offline

    vesy специалист

    Регистрация:
    02.07.2010
    Сообщения:
    263
    Симпатии:
    53
    Пол:
    Мужской
    В виде view.html.php добавляете

    Код (PHP):
    1. $component = JComponentHelper::getComponent( 'com_jquarks' );
    2. $params = new JParameter( $component->params );
    3. $barrier= $params->get( 'barrier');
    4.  
    5. //передаем в шаблон
    6. $this->assignRef('barrier', $barrier);

    А в шаблоне изменяете $barrier на $this->barrier (или где там у Вас)
    Код (PHP):
    1. <p>
    2.     <h3>
    3.         <font color="#cc0000" face="sans-serif, Arial" >
    4.             <?php if ($percent < $this->barrier){echo JText::_('PROVAL');}?>
    5.         </font>
    6.         <font color="#33cc00" face="sans-serif, Arial">
    7.             <?php if ($percent >= $this->barrier) {echo JText::_('USPEH');} ?>
    8.         </font>
    9.     </h3>
    10. </p>
     
    spark95 нравится это.

Поделиться этой страницей

Загрузка...