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


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

Элементы "Возраст", "Знак зодиака"


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

#1 styopinevgeniy

styopinevgeniy

Отправлено 10 May 2013 - 14:17

Добрый день!

Подскажите, пожалуйста, как можно разработать такие элементы, значения которых выводили бы:

1. возраст клиента по введённой дате рождения

2. знак зодиака клиента по введённой дате рождения

Конечно, этот элемент должен быть доступен в поиске и функционировать там корректно.


  • 0

#2 RomanL

RomanL

Отправлено 10 May 2013 - 14:29

Добрый день.

Нужно написать собственный элемент. Для этого воспользуйтесь инструкциями Yootheme http://www.yootheme....-custom-element

 

А также просмотреть структуру собственных элементов JBZoo в папке media\zoo\applications\jbuniversal\elements


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

#3 styopinevgeniy

styopinevgeniy

Отправлено 10 May 2013 - 16:17

Это-то ясно! Но может быть у Вас уже есть мысли, как это можно конкретно реализовать? Или есть на примете похожие уже созданные элементы?

Мне, например, пока абсолютно неясно, как получать параметр в виде даты из поля и как его потом запускать на обработку. Сама обработка уже написана.


  • 0

#4 SmetDenis

SmetDenis

Отправлено 10 May 2013 - 17:03

как получать параметр в виде даты из поля

например как то так
strtotime($this->get('value')); // берем из сохраненного значения с ключом "value" значение и конвертируем его в timestamp

как его потом запускать на обработку

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



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


#5 styopinevgeniy

styopinevgeniy

Отправлено 10 May 2013 - 17:21

В смысле потом этот параметр в коде обрабатывать. Если определяем знак зодиака, то смотреть, в какой диапозон попала комбинация число-месяц и на основании этого возвращать, собственно, знак...


  • 0

#6 styopinevgeniy

styopinevgeniy

Отправлено 10 May 2013 - 19:36

Накатал такую вещь:

<?php

class Age extends Element {

public function render($params = array()) {
  $birthday_timestamp = strtotime($this->get('value'));
  $age = date('Y') - date('Y', $birthday_timestamp);
  if (date('md', $birthday_timestamp) > date('md')) {
    $age--;
  }
  return $age;
}

}

Скажите, двигаюсь в верном направлении?

 

 


  • 0

#7 SmetDenis

SmetDenis

Отправлено 12 May 2013 - 09:14

функция render похожа на правду, а вот для полноценного класса не хватает множество вещей.

посмотрите мануал - http://www.yootheme....-custom-element


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



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





Click to return to top of page in style!