Дополнительные атрибуты для типов zoo

Тема в разделе "ZOO", создана пользователем SlamBusted, 23.06.2014.

  1. Offline

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

    Регистрация:
    23.06.2014
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Ребята, подскажите пожалуйста. Уже всю голову сломал. Даже не знаю, как правильно сформулировать вопрос, но попробую.
    В общем на сайте есть форма для подачи материалов пользователями. Заданы типы (Имя, Возраст, Рост, Вес) как текстовые поля, то есть пользователь сам их заполняет. И при выводе, материал выводится правильно, но вид у него следующий:
    Имя: Алексей
    Возраст: 27
    Рост: 186
    Вес: 72

    Казалось бы все хорошо, но есть одно но... У пользователей не хватает ума дописывать единицы измерения.
    Мне нужно сделать вот так:
    Имя: Алексей
    Возраст: 27 лет.
    Рост: 186 см.
    Вес: 72 кг.
    При этом чтоб эти единицы измерения добавлялись автоматически к нужным полям... Такое вообще реально сделать?
     
  2.  
  3. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
    Да, конечно можно. Пользователь и не должен их писать.

    Вот несколько вариантов:
    1. В форме где правили после переменных самому дописать единицы измерения.
    2. Можно даже через CSS допилить:

    Пример:
    Код (CODE):
    1. .email-address:before {
    2. content: "Email address: ";
    3. }


    CSS будет преобразовать класс email-address и поставит текст Email address
    Код (CODE):
    1. <ul>
    2. <li class="email-address">chriscoyier@gmail.com</li>
    3. </ul>


    Будет в итоге так:
    Код (CODE):
    1. Email address: chriscoyier@gmail.com
     
  4. Offline

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

    Регистрация:
    23.06.2014
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Прошу прощения, не совсем понял первый пункт. Я первый раз делаю сайт на ZOO и не до конца разобрался в его функционале. Если можно, объясните по подробнее как это сделать. Какой файл править? Заранее благодарен.
    --- добавлено: 25.06.2014, первое сообщение размещено: 25.06.2014 ---
    Вот пример:
    Созданы типы полей для подачи материала:
    112.jpg
    На сайте он выводится вот так:
    113.jpg
    А мне нужно чтоб единицы измерения автоматически дописывались:
    Возраст: 99 лет.
    Вес: 150 кг.
    Рост: 120 см.
    --- добавлено: 25.06.2014 ---
    Еще нашел файл ankety.config в котором прописаны все типы полей которые я создал. Может в нем чего добавить?
     
  5. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
    Посмотрите обучающие уроки по ZOO, т.к. сам разбирался нес-ко месяцев.

    Пример:

    Файл у меня лично для моего каталога:
    Код (CODE):
    1. /var/www/admin/data/www/site.com/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/blog


    Full.php (или тизер)
    0_9106f_aeb71ba2_orig.png

    Вы просто после переменной дописываете ее единицы измерения.

    у меня JBZOO, у Вас путь к файлу немного иной будет.
     

    Вложения:

  6. Offline

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

    Регистрация:
    23.06.2014
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    У меня нужные мне поля находятся в группе "specification" и если я сделаю по вашему примеру, то у меня единица измерения добавиться только к последнему пункту. Допустим я сделаю вот так:
    Код (html):
    1. <?php if ($this->checkPosition('specification')) : ?>
    2.         <div class="pos-specification">
    3.             <h3><?php echo JText::_('Specifications'); ?></h3>
    4.             <ul>
    5.                 <?php echo $this->renderPosition('specification', array('style' => 'list')); ?>см.
    6.             </ul>
    7.         </div>
    8.         <?php endif; ?><hr>


    то выглядеть это будет так:
    Возраст: 99
    Вес: 150
    Рост: 120 см.

    А на счет уроков, уже просмотрел около пяти гигабайт видео по ZOO, но там этого нет... Вот и ломаю голову... Еще раз спасибо за советы. Буду искать дальше.
     
  7. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
    По ютубу вот например: https://www.youtube.com/channel/UC-54dJ5D7fpY2WHYNL64HPg

    Вам необходимо просто разметить в XML позиции по полям (у Вас сейчас все в 1 позиции - в каше). А нужно создать просто под каждую переменную позицию и будет все отлично.


    Пример:

    positions.xml

    В нем есть:

    Код (CODE):
    1. <positions layout="full">
    2.         <position name="title">Title</position>
    3.         <position name="subtitle">Subtitle</position>
    4.         <position name="date">Date</position>
    5.         <position name="social">Social</position>
    6.         <position name="image">Image</position>
    7.         <position name="text">Text</position>
    8.         <position name="media">Media</position>
    9.         <position name="links">Links</position>
    10.         <position name="meta">Meta</position>
    11.         <position name="author">Author</position>
    12.         <position name="related">Related</position>
    13.     </positions>
    14.  
    15.     <positions layout="teaser">
    16.         <position name="title">Title</position>
    17.         <position name="subtitle">Subtitle</position>
    18.         <position name="meta">Meta</position>
    19.         <position name="image">Image</position>
    20.         <position name="text">Text</position>
    21.         <position name="links">Links</position>
    22.     </positions>


    Вам надо заменить просто на свои.

    И далее:
    full.php или тизер

    Код (CODE):
    1. <?php if ($this->checkPosition('vosrast')) : ?>
    2.     <div class="nazvanieclass"><?php echo $this->renderPosition('vosrast'); ?> лет</div>
    3. <?php endif; ?>
    4. <div class="clear clr"></div>
    5.  
    6.  
    7. <?php if ($this->checkPosition('ves')) : ?>
    8.     <div class="nazvanieclass"><?php echo $this->renderPosition('ves'); ?> кг</div>
    9. <?php endif; ?>
    10. <div class="clear clr"></div>
    11.  
    12.  
    13. <?php if ($this->checkPosition('rost')) : ?>
    14.     <div class="nazvanieclass"><?php echo $this->renderPosition('rost'); ?> см</div>
    15. <?php endif; ?>
    16. <div class="clear clr"></div>
     
    OlegM нравится это.

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

Загрузка...