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


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

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

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

Лучший Ответ MOKEV , 11 January 2017 - 12:11

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

public function toCSV()
    {
        if (isset($this->_value['location'])) {
            return $this->_value['location'];
        }

        return '';
    }

    public function fromCSV($value, $position = null)
    {
        $value = $this->_getString($value);
        $this->_element->bindData(array('location' => trim($value)));

        return $this->_item;
    }

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

Перейти к сообщению


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

#1 CEMEH

CEMEH

Отправлено 24 December 2016 - 15:01

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

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

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

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

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

 

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

<?php

class JBCSVItemUserFlyleaf_ymaps extends JBCSVItem 
{
    public function toCSV()
    {
        $result = array();
        $params = $this->app->jbuser->getParam('export-items', array());
        if (!empty($this->_value)) {
            foreach($this->_value as $flyleaf_ymaps) {
                $result[] = $flyleaf_ymaps['number'];
            }
        }
        // Объединять повторяемые поля?
        if ((int)$params->merge_repeatable) {
            return implode(JBCSVItem::SEP_ROWS, $result);
        } else {
            return $result;
        }
    }
   
     public function fromCSV()
    {
        $data = ($position == 1) ? array() : $this->_element->data();
        if (strpos($value, JBCSVItem::SEP_ROWS)) {
            foreach (explode(JBCSVItem::SEP_ROWS, $value) as $val) {
                $values[] = array(
                    'number'  => $val,
                );
            }
            $data = $values;
        } else {
            $data[] = array('number' => $value);
        }
        $this->_element->bindData($data);
        return $this->_item;
    }
}

?>

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

 

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


  • 0

#2 CEMEH

CEMEH

Отправлено 24 December 2016 - 15:36

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

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

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

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

 

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

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

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

 

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


  • 0

#3 CB9TOIIIA

CB9TOIIIA

Отправлено 24 December 2016 - 17:06

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

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


  • 2

#4 CEMEH

CEMEH

Отправлено 24 December 2016 - 17:47

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

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

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


  • 0

#5 MOKEV

MOKEV

Отправлено 11 January 2017 - 12:11   Лучший Ответ

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

public function toCSV()
    {
        if (isset($this->_value['location'])) {
            return $this->_value['location'];
        }

        return '';
    }

    public function fromCSV($value, $position = null)
    {
        $value = $this->_getString($value);
        $this->_element->bindData(array('location' => trim($value)));

        return $this->_item;
    }

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


  • 3

#6 CEMEH

CEMEH

Отправлено 15 January 2017 - 14:58

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

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

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


  • 0





Темы с аналогичным тегами яндекс.карты, flyleaf.su, импорт, экспорт

Click to return to top of page in style!