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


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

Поля базы данных


Лучший Ответ SmetDenis , 24 July 2013 - 11:35

Например элемент стран выбирает данные из специального хелпера

Выглядит это примерно так

\media\zoo\elements\country\country.php

 

20130724-712-124kb_200x0.jpg

 

Список стран берется с помощью специального хелпера на этапе настроек элемента.

$this->app->country->getIsoToNameMapping();
Перейти к сообщению


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

#1 mindguru

mindguru

Отправлено 22 July 2013 - 07:47

Добрый день! Не знаю, есть ли такая возможность в JBZoo, в Community Builder она точно есть. Что мне нужно? В свойствах элемента должно быть поле типа select (то есть раскрывающийся список), а набор опций (сам этот список) берётся из базы данных (то есть это какое-то другое поле). Конкретный пример. Есть элементы "товар" и "производитель". В то же время, "производитель" - это свойство товара и должно показываться в его карточке. Проще всего реализовать этот функционал с помощью списка выбора. Конечно, если это сложно, придётся делать свойство "производитель" обычным текстовым полем. Однако в таком случае возможны ошибки с написанием названия фирмы и задвоение записей, чего хотелось бы избежать. То есть в данном случае производитель должен выступать справочником для товара.


  • 0

Делай добро и бросай его в воду!


#2 Sliapy

Sliapy

Отправлено 22 July 2013 - 11:16

Если производитель - это материал, то используйте элемент Related Items, если категория - элемент Related Categories,


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

#3 mindguru

mindguru

Отправлено 22 July 2013 - 11:23

Давайте так. У меня есть элемент "Товар". В карточке этого элемента есть поле "Производитель". Если это просто текст, то всё понятно. Если это селект, значит, я где-то при настройке должен указать список опций, правильно? Как сделано, например, для выбора страны в карточке компании на демонстрационном сайте. Мой вопрос заключается в том, может ли этот список опций браться из базы, а не задаваться вручную?


  • 0

Делай добро и бросай его в воду!


#4 Sliapy

Sliapy

Отправлено 22 July 2013 - 12:29

Тогда только дописывать один из существующих элементов либо писать свой с ноля.


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

#5 mindguru

mindguru

Отправлено 22 July 2013 - 12:32

Например? Добавить код в шаблон для вывода? С чего начать?


  • 0

Делай добро и бросай его в воду!


#6 Sliapy

Sliapy

Отправлено 22 July 2013 - 12:41

Я не кодер и ничего конкретного Вам тут посоветовать не могу. Попрошу Дениса посмотреть тему, но Вы сами понимаете, что это немного выходит за рамки ТП JBZoo + сейчас, в связи с новым обновлением, все силы брошены на решение вопросов/проблем с ним. Так что, возможно, придется подождать.


Сообщение отредактировал Sliapy: 22 July 2013 - 12:41

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

#7 mindguru

mindguru

Отправлено 22 July 2013 - 13:01

Я понимаю и не прошу ничего конкретно мне расписывать. Просто киньте общую идею, откуда начинать копать... Заранее спасибо.


  • 0

Делай добро и бросай его в воду!


#8 SmetDenis

SmetDenis

Отправлено 23 July 2013 - 14:02

Cделать то можно, нужны только базовые знания PHP.

Это должен быть полностью новый элемент, который умеет брать из базы данных новые значения.
Возможно вам помогут эти страницы (о создании элементов)
http://www.yootheme....-custom-element
http://forum.jbzoo.com/topic/1993-

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



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


#9 mindguru

mindguru

Отправлено 23 July 2013 - 15:52

Подскажите, как заполняется (или в каком шаблоне) поле для выбора, например, страны (на существующих данных). Задаются ли все опции на этапе создания-редактирования полей? Возможно ли просто создать новый тип поля? Например, в Community Builder так и сделали: написали плагин "поле базы данных". Значения берутся из sql-запроса. Очень удобно.


  • 0

Делай добро и бросай его в воду!


#10 SmetDenis

SmetDenis

Отправлено 24 July 2013 - 11:35   Лучший Ответ

Например элемент стран выбирает данные из специального хелпера

Выглядит это примерно так

\media\zoo\elements\country\country.php

 

20130724-712-124kb_200x0.jpg

 

Список стран берется с помощью специального хелпера на этапе настроек элемента.

$this->app->country->getIsoToNameMapping();

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



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





Click to return to top of page in style!