Jump to content



Toggle %s Welcome to JBZoo community !

English: Please, sign in for contact JBZoo techsupport. Accesses in your Email, which came after the purchase.

Russian: Для того чтобы обратиться в русскую техническую поддержку JBZoo — авторизуйтесь с помощью доступов, которые пришли к вам в письме после покупки. Внимание! Доступ туда имеют только тарифы со знаком «плюс». Подписки JBZoo без "+" форум расценивает как забаненные, поэтому для общения в публичном разделе используйте отдельный аккаунт (легко зайти через социальную сеть). Если форум вас не пускает, почистите куки браузера


Photo
- - - - -

CSV


Best Answer DMTR3000S , 03 July 2017 - 21:25

Нашёл в чём дело. Актуально для версии JBZoo 2.0.2

 

Есть хэлпер jbcsv.php, который находится здесь:

/media/zoo/applications/jbuniversal/framework/helpers

и в нём есть функция _createFile в самом конце, внутри которой видно, что перебираются строки и с помощью fputcsv форматируются собственно в CSV и пихаются в файл. Так вот, для fputcsv явно не указаны параметры delimiter и enclosure, поэтому они подставляются по умолчанию. Чтобы это исправить в 135 (у меня, по крайней мере) строке меняем это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive());

на вот это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive(), '~', '^');

тем самым явно указывая желаемые разделитель и ограничитель (в нашем случае это ~ и ^). После этого всё должно заработать. Но это неточно!

Go to the full post


27 replies to this topic

#21 DMTR3000S

DMTR3000S
  • JBZoo Partner
  • User rate: 97
  • posts: 845
  • topics: 44

Posted 30 June 2017 - 14:19

не, это 2.1.4 - она не пойдёт, я имел ввиду демо на джумле 2.5

И ещё есть демо - demo_joomla_2.5.zip. Какая там версия внутри не знаю даже. Но скорее всего как раз таки 2.0.2

  • 0

#22 Tukan

Tukan
  • Topic Starter
  • Members
  • User rate: 0
  • posts: 17
  • topics: 2

Posted 02 July 2017 - 11:33

не, это 2.1.4 - она не пойдёт, я имел ввиду демо на джумле 2.5

 

Пардон. Я перепутал ссылки. https://www.dropbox....la_2.5.zip?dl=0



#23 Tukan

Tukan
  • Topic Starter
  • Members
  • User rate: 0
  • posts: 17
  • topics: 2

Posted 03 July 2017 - 12:59

Пардон. Я перепутал ссылки. https://www.dropbox....la_2.5.zip?dl=0

 

Оно?



#24 DMTR3000S

DMTR3000S
  • JBZoo Partner
  • User rate: 97
  • posts: 845
  • topics: 44

Posted 03 July 2017 - 16:00

Оно, но мне сейчас негде распаковать и попробовать. Есть пара догадок. Напишите мне в скайп, ВК, или на почту


  • 0

#25 Tukan

Tukan
  • Topic Starter
  • Members
  • User rate: 0
  • posts: 17
  • topics: 2

Posted 03 July 2017 - 19:22

Напишите мне в скайп, ВК, или на почту

 

А где мне это взять?) Я на ваш профиль попасть не могу.



#26 Tukan

Tukan
  • Topic Starter
  • Members
  • User rate: 0
  • posts: 17
  • topics: 2

Posted 03 July 2017 - 19:33

Оно, но мне сейчас негде распаковать и попробовать. Есть пара догадок. Напишите мне в скайп, ВК, или на почту

 

Отправил в ВК



#27 DMTR3000S

DMTR3000S
  • JBZoo Partner
  • User rate: 97
  • posts: 845
  • topics: 44

Posted 03 July 2017 - 21:25   Best Answer

Нашёл в чём дело. Актуально для версии JBZoo 2.0.2

 

Есть хэлпер jbcsv.php, который находится здесь:

/media/zoo/applications/jbuniversal/framework/helpers

и в нём есть функция _createFile в самом конце, внутри которой видно, что перебираются строки и с помощью fputcsv форматируются собственно в CSV и пихаются в файл. Так вот, для fputcsv явно не указаны параметры delimiter и enclosure, поэтому они подставляются по умолчанию. Чтобы это исправить в 135 (у меня, по крайней мере) строке меняем это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive());

на вот это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive(), '~', '^');

тем самым явно указывая желаемые разделитель и ограничитель (в нашем случае это ~ и ^). После этого всё должно заработать. Но это неточно!


  • 0

#28 Tukan

Tukan
  • Topic Starter
  • Members
  • User rate: 0
  • posts: 17
  • topics: 2

Posted 04 July 2017 - 12:02

Нашёл в чём дело. Актуально для версии JBZoo 2.0.2

 

Есть хэлпер jbcsv.php, который находится здесь:

/media/zoo/applications/jbuniversal/framework/helpers

и в нём есть функция _createFile в самом конце, внутри которой видно, что перебираются строки и с помощью fputcsv форматируются собственно в CSV и пихаются в файл. Так вот, для fputcsv явно не указаны параметры delimiter и enclosure, поэтому они подставляются по умолчанию. Чтобы это исправить в 135 (у меня, по крайней мере) строке меняем это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive());

на вот это:

fputcsv($handle, $this->app->data->create($row)->flattenRecursive(), '~', '^');

тем самым явно указывая желаемые разделитель и ограничитель (в нашем случае это ~ и ^). После этого всё должно заработать. Но это неточно!

 

Да оно. Наконец-то! Спасибо огромное за помощь в решении проблемы.






Click to return to top of page in style!