Jump to content


Photo
- - - - -

Импорт координат для Яндекс.Карт flyleaf.su

яндекс.карты flyleaf.su импорт экспорт

Best Answer MOKEV , 11 January 2017 - 12:11

Если Вам необходимо импортировать/экспортировать только координаты, то тогда код такой:

  1. public function toCSV()
  2. {
  3. if (isset($this->_value['location'])) {
  4. return $this->_value['location'];
  5. }
  6.  
  7. return '';
  8. }
  9.  
  10. public function fromCSV($value, $position = null)
  11. {
  12. $value = $this->_getString($value);
  13. $this->_element->bindData(array('location' => trim($value)));
  14.  
  15. return $this->_item;
  16. }

Значение координат в таблице CSV нужно записывать в строку, без пробелов, через запятую...примерно так: 54.294045901216144,56.08725790404904

Go to the full post


  • This topic is locked This topic is locked
5 replies to this topic

#1 CEMEH

CEMEH
  • JBZoo User (rus)
  • User rate: 0
  • posts: 86
  • topics: 27

Posted 24 December 2016 - 15:01

Приветствую.

Други, помогите, пожалуйста с импортом координат для модуля Яндекс.Карт flyleaf.su

Вот это прочитал Как сделать элемент для Zoo/JBZoo

Пробую делать по аналогии с другими файлами из .../media/zoo/applications/jbuniversal/framework/elements/user

Пробовал разные варианты, но видать знаний программирования не хватает

 

Вот начальный вариант

  1. <?php
  2.  
  3. class JBCSVItemUserFlyleaf_ymaps extends JBCSVItem
  4. {
  5. public function toCSV()
  6. {
  7. $result = array();
  8. $params = $this->app->jbuser->getParam('export-items', array());
  9. if (!empty($this->_value)) {
  10. foreach($this->_value as $flyleaf_ymaps) {
  11. $result[] = $flyleaf_ymaps['number'];
  12. }
  13. }
  14. // Объединять повторяемые поля?
  15. if ((int)$params->merge_repeatable) {
  16. return implode(JBCSVItem::SEP_ROWS, $result);
  17. } else {
  18. return $result;
  19. }
  20. }
  21. public function fromCSV()
  22. {
  23. $data = ($position == 1) ? array() : $this->_element->data();
  24. if (strpos($value, JBCSVItem::SEP_ROWS)) {
  25. foreach (explode(JBCSVItem::SEP_ROWS, $value) as $val) {
  26. $values[] = array(
  27. 'number' => $val,
  28. );
  29. }
  30. $data = $values;
  31. } else {
  32. $data[] = array('number' => $value);
  33. }
  34. $this->_element->bindData($data);
  35. return $this->_item;
  36. }
  37. }
  38.  
  39. ?>

Я так полагаю, что вместо "export-items" и "number" нужны свои параметры подставить.

 

Может кто-нить плз, помочь?


  • 0

#2 CEMEH

CEMEH
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 86
  • topics: 27

Posted 24 December 2016 - 15:36

Пардон, сформулирую вопрос иначе.

Нужно импортировать из CSV параметры для нестандартных полей.

При установке модуля Яндекс.Карт flyleaf.su, при экспорте новый столбец появляется, но пустой, без значений.

Соответственно и при импорте данные не подхватываются.

 

Поискал по форуму, почитал Как сделать элемент для Zoo/JBZoo, но сделать под себя не получается - экспорт пустой.

Буду рад любой рекомендации, совету.

Может где-то на форуме есть аналогичная тема, которую я не нашел.

 

Спасибо за внимание )


  • 0

#3 CB9TOIIIA

CB9TOIIIA
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 24 December 2016 - 17:06

Там огород целый, подачи не было - валидацию делал: http://dom813.ru/  (#8к)

Но я этот брал: http://forum.jbzoo.c...karte-yandeksa/


  • 2

#4 CEMEH

CEMEH
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 86
  • topics: 27

Posted 24 December 2016 - 17:47

CB9TOIIIA, on 24 Dec 2016 - 16:06, said:

Там огород целый, подачи не было - валидацию делал: http://dom813.ru/  (#8к)

Но я этот брал: http://forum.jbzoo.c...karte-yandeksa/

спасибо, тоже обратил на него внимание, буду тогда его ковырять


  • 0

#5 MOKEV

MOKEV
  • JBZoo User (rus)
  • User rate: 11.7
  • posts: 143
  • topics: 14

Posted 11 January 2017 - 12:11   Best Answer

Если Вам необходимо импортировать/экспортировать только координаты, то тогда код такой:

  1. public function toCSV()
  2. {
  3. if (isset($this->_value['location'])) {
  4. return $this->_value['location'];
  5. }
  6.  
  7. return '';
  8. }
  9.  
  10. public function fromCSV($value, $position = null)
  11. {
  12. $value = $this->_getString($value);
  13. $this->_element->bindData(array('location' => trim($value)));
  14.  
  15. return $this->_item;
  16. }

Значение координат в таблице CSV нужно записывать в строку, без пробелов, через запятую...примерно так: 54.294045901216144,56.08725790404904


  • 3

#6 CEMEH

CEMEH
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 86
  • topics: 27

Posted 15 January 2017 - 14:58

Evgeny_M, on 11 Jan 2017 - 11:11, said:

Если Вам необходимо импортировать/экспортировать только координаты, то тогда код такой

Отлично, то, что надо - импорт-экспорт работает.

Премного благодарен )


  • 0





Also tagged with one or more of these keywords: яндекс.карты, flyleaf.su, импорт, экспорт

Click to return to top of page in style!