Joomla 1.5 Mosets Tree 2.9 Custom Fields-separator = вставка пустого поля с произвольным html-кодом

Тема в разделе "Каталоги, конструкторы контента, управление", создана пользователем Creative, 04.03.2009.

  1. Creative
    Offline

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

    Регистрация:
    04.12.2007
    Сообщения:
    16
    Симпатии:
    2
    Пол:
    Мужской
    Собственно задача такая:
    Поля в мтрии выводятся по-порядку. Если бы можно было вставить новые поля (нового типа, что и требуется) до и после некоторого стандартного поля, то можно было бы оформлять каждое поле как угодно. То есть, нужно чтобы выводилось:
    Код (html):
    1. [Поле1]
    2. [Поле2]
    3.   [сепаратор, где прописываем<div class="text">]
    4. [поле3 (теперь особо оформленное)]
    5. [поле4]
    6.   [сепаратор, где закрываем оформление</div>]
    7. [Поле5]

    Нечто уже готовое (возможно) есть на оф.форуме:
    http://forum.mosets.com/showthread.php?t=6435&highlight=custom+fields
    Но там все аттачменты - только зарегиным и проплатившим аккаунт :(
    Помогите пожалуйста:
    а) Скачать аттачмент у кого есть аккаунт (сорри за варез)
    или
    б) Сделать анналогичную xml-ку.
    В конечном счёте хочется таким образом не столько оформление реализовать, сколько табы, слайды и т.д. для групп форм.

    P.S. Вероятно "открывающее поле" должно начинацо с
    Код (html):
    1. </table>
    , а "закрывающее" заканчивацо
    Код (html):
    1. <table>
    , ибо Мтрии все поля выводит в таблицу Nx2-размером

    P.P.S Про открывающие/закрывающие таблицы неактуально уже. Раскопал соответствующий кусок кода файле шаблона. Заменил на дивы.
     
    Последнее редактирование: 07.03.2009
  2.  
  3. Creative
    Offline

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

    Регистрация:
    04.12.2007
    Сообщения:
    16
    Симпатии:
    2
    Пол:
    Мужской
    Реализовал. Не совсем так, немного топорно, но так мне даже больше нравицо:
    Забиваем жёско какие формы выводить по идентификаторам, получаем структуру вида:
    Код (html):
    1. [поле с id=1]
    2. [поле с id=3]
    3. </table>
    4. <div id="tab">
    5. [поле с id=20]
    6. [поле с id=50]
    7. </div>

    В файле \components\com_mtree\templates\m2\page_addListing.tpl.php меняем
    Код (html):
    1. $this->fields->resetPointer();
    2. while( $this->fields->hasNext() ) {
    3.     $field = $this->fields->getField();
    4.     if($field->hasInputField()) {
    5.         echo '<tr><td valign="top" align="left">';
    6.         if($field->getCaption() != false) {
    7.             if($field->isRequired()) {
    8.                 echo '<strong>' . $field->getCaption() . '</strong>:';
    9.             } else {
    10.                 echo $field->getCaption() . ':';
    11.             }
    12.         }
    13.         echo '</td><td align="left">';
    14.         echo $field->getModPrefixText();
    15.         echo $field->getInputHTML();
    16.         echo $field->getModSuffixText();
    17.         echo '</td></tr>';
    18.     }
    19.     $this->fields->next();
    20. }
    21. ?>

    На
    Код (html):
    1. <?php
    2. /*первая форма*/
    3. $field = $this->fields->getFieldById(1);
    4. if($field->hasInputField()) {
    5.     echo '<tr><td valign="top" align="left">';
    6.     if($field->getCaption() != false) {
    7.         if($field->isRequired()) {
    8.             echo '<strong>' . $field->getCaption() . '</strong>:';
    9.         } else {
    10.             echo $field->getCaption() . ':';
    11.         }
    12.     }
    13.     echo '</td><td align="left">';
    14.     echo $field->getModPrefixText();
    15.     echo $field->getInputHTML();
    16.     echo $field->getModSuffixText();
    17.     echo '</td></tr>';
    18. }
    19. /*вторая форма и т.д.*/
    20. $field = $this->fields->getFieldById(2);
    21. if($field->hasInputField()) {
    22.     echo '<tr><td valign="top" align="left">';
    23.     if($field->getCaption() != false) {
    24.         if($field->isRequired()) {
    25.             echo '<strong>' . $field->getCaption() . '</strong>:';
    26.         } else {
    27.             echo $field->getCaption() . ':';
    28.         }
    29.     }
    30.     echo '</td><td align="left">';
    31.     echo $field->getModPrefixText();
    32.     echo $field->getInputHTML();
    33.     echo $field->getModSuffixText();
    34.     echo '</td></tr>';
    35. }
    36. ?>
    37. </table>

    Ниже любой свой код. Формы вызываем:
    Код (html):
    1. <!--начало особой формы-->
    2. <?php
    3. $field = $this->fields->getFieldById(13);
    4. if($field->hasInputField()) {
    5.     echo '<div>';
    6.     if($field->getCaption() != false) {
    7.         if($field->isRequired()) {
    8.             echo '<strong>' . $field->getCaption() . '</strong>:';
    9.         } else {
    10.             echo $field->getCaption() . ':';
    11.         }
    12.     }
    13.     echo '</div><div>';
    14.     echo $field->getModPrefixText();
    15.     echo $field->getInputHTML();
    16.     echo $field->getModSuffixText();
    17.     echo '</div>';
    18. }
    19. ?>
     

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

Загрузка...