Перейти к содержимому


Фотография
- - - - -

Создание своего элемента


  • Закрытая тема Тема закрыта
Сообщений в теме: 48

#31 SmetDenis

SmetDenis

Отправлено 24 February 2013 - 17:11

Вопрос с переопределением рендера остался открытым.

Не доходит, как подобраться в элементу в массиве, что бы прописать ему ElementRepeatable (((


protected function _render($params = array()) {
    
    print_r($params); // параметры, которые указаны в блоке "render" в файле XML

}

Может я не понял ваш вопрос...
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#32 Katerina

Katerina

Отправлено 24 February 2013 - 18:56

print_r($params); - это не то.

В xml прописано

            <param name="zwarehouseaddress" type="text" default="" label="Warehouse Address" description="" />
            <param name="whrepeatable" type="radio" default="0" label="Repeat Warehouse" description="Add multiple text areas.">
                  <option value="0">JNO</option>
                  <option value="1">JYES</option>
            </param>

т. е параметр zwarehouseaddress должен быть повторяемый (в xml прописано радио для задания повторяемости)

соответвенно мне надо прописать на zwarehouseaddress свойство ElementRepeatable при whrepeatable=1

Я не смогла найти как мне переопределить render(), так что бы на нужные элементы добавить свойство ElementRepeatable при whrepeatable=1

Денис, можете подсказать какую строчку кода надо прописать в массив
       public function _render($params = array()) {
   return '<div class="' .JText::_('zcountry').'">'. $this->get('zcountry'). '<>
           <div class="' .JText::_('zcity').  '">'. $this->get('zcity').   '<>
           <div class="' .JText::_('zofficeaddress').  '">'. $this->get('zofficeaddress').   '<>
           <div class="' .JText::_('zwarehouseaddress').  '">' 
в это место надо вставить что-то типа if zwarehouseaddress.whrepeatable=1 then zwarehouseaddress имеет свойство ElementRepeatable
                . $this->get('zwarehouseaddress').   '<>
           <div class="' .JText::_('zphone').  '">'. $this->get('zphone').   '<>
           <div class="' .JText::_('zemail').  '">'. $this->get('zemail').   '<>';
        }

  • 0

#33 Katerina

Katerina

Отправлено 25 February 2013 - 13:38

уже почти 24 часа прошло!!!

где мне найти ответ на вопрос?
  • 0

#34 Sliapy

Sliapy

Отправлено 25 February 2013 - 14:36

Извините, но какое отношение этот (и некоторые другие) Ваш вопрос имеет к работе JBZoo, что Вы так настойчиво требуете на них ответов?
  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#35 Katerina

Katerina

Отправлено 25 February 2013 - 16:07

Этот топик можно использовать как рабочую инструкцияю для создания своего элемента и задания повторяемости.
Этого в JBZoo на текущий момент нет.

Приведеная мне изначально ссылка - оказалась не рабочей.

Вы же заинтересованы в расширении функционала и появлению более подробных инструкций к вашему же софту?



  • 0

#36 Katerina

Katerina

Отправлено 25 February 2013 - 16:23

А еще возможно, этим проектом помогаю огромному колличеству людей избежать ошибок и не попасть на обманы, оплачивая все сопутсвующие по нему расходы. Это не достойно уважения или ответов на пару простых для вас вопросов?
  • 0

#37 Sliapy

Sliapy

Отправлено 25 February 2013 - 16:28

Не вижу как из всего этого вытекают Ваши требования (по другому мне это как-то сложно назвать) помочь Вам немедленно.

Будет у разработчиков (а они здесь представлены, по сути, только Денисом) время и желание ответить на Ваши вопросы, которые на данный момент не относятся к работе JBZoo, - они обязательно ответят.
  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#38 Katerina

Katerina

Отправлено 25 February 2013 - 16:59

Не вижу как из всего этого вытекают Ваши требования (по другому мне это как-то сложно назвать) помочь Вам немедленно.


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

А еще меня очень злит наличие такого колличества псевдо перевозчиков, у которых в 90% из документов и гарантий есть только лапы и хвост. Раз уж я сложилась в этой стране, пора внести свой вклад в наведение порядка и чистоты. (сорри за офтоп)



  • 0

#39 SmetDenis

SmetDenis

Отправлено 25 February 2013 - 20:03

ого... как тут все повернулось резко. стоит только отойти))))
Без паники ;)

Ваша ошибка в "легком" не понимании процессов внутри элемента.
Вы пытаетесь сделать множественный элемент внутри множественного.
У вас сейчас весь блок с полями, которые выводятся с помощью метода _edit(), будет повторяемый. Это фича API самого компонента Zoo.
Сделать повторяемое поле внутри повторяемого блока - не получится 1-2 строчками. Это вообще не тривиальная задача и тут нужно, извините меня, уметь программировать.

Поясню на картинке
Изображение

Сделать фичу с добавлением через ссылку "добавить" - это нужно знать JS+HTML+PHP, т.е уметь кодить.
Повторяемым можно сделать только весь блок.

В примере выше от меня, я вам просто показал как получить настройки из XML.
Как вы будете применять настройки  - это дело хозяйское и готового решения нет.

-----------
Предлагаю вам разделять телефоны через спец символ, например запятую.
Потом при выводе разбирать поле через функцию.

$phones = explode(',', $fieldData);




  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#40 Katerina

Katerina

Отправлено 27 February 2013 - 08:55

Поняла

Вот какая обнаружилась проблема

Если одно из полей не заполнить, страница не сохраняется и при нажатии на кружок сверху "сохранить" выдает чистый лист с редиректом на http://cargocatalog....rator/index.php

Почему?
  • 0




Click to return to top of page in style!