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


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

Ошибка в структуре экспорта материалов из-за алиаса категории

alias алиас экспорт материалов структура экспорта ошибка

Лучший Ответ SmetDenis , 24 March 2015 - 07:42


Не представляю почему это все стало возможным. Все алиасы проходят через эту функцию
media\zoo\applications\jbuniversal\framework\helpers-std\string.php sluggify()

Обязательный вызов trim убирает пробельные символы.

Пока у меня две теории
- Скорее всего в старых версиях алиас обрабатывался как то по другому (маловероятно)
- Был не печатаемый символ, который не считается пробельным. Соответственно не был вырезан. Скорее всего пришел из файла импорта.

Символов в UTF-8 65тыс+, поэтому есть такая вероятность, хоть и небольшая... Перейти к сообщению


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

#1 kostricyny

kostricyny

Отправлено 21 March 2015 - 12:02

Здравствуйте.

Обнаружил следующую ошибку. Alias категории завершается символом ... пробела! Понимаю, что это невозможно, но факты удивительно упрямая вещь. В результате экспорта этот символ пробела воспринимается, как значение для следующего поля и идёт сдвиг на одну колонку.

Как с этим эффективно побороться?          


  • 0

#2 isay777

isay777

Отправлено 21 March 2015 - 14:23

Зайти в категорию и отредактировать алиас. И удалить пробел. 


  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#3 kostricyny

kostricyny

Отправлено 21 March 2015 - 16:27

Зайти в категорию и отредактировать алиас. И удалить пробел. 

О, этот метод самый желанный и этого будет достаточно? В экспорте материалов категории прописаны не числовым индексом, а с помощью буквенных символов, в базе данных связь items и categories числовая?     


  • 0

#4 isay777

isay777

Отправлено 21 March 2015 - 19:22

Мы говорим об одной категории которую вы ранее создали или о чем?


  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#5 SmetDenis

SmetDenis

Отправлено 23 March 2015 - 07:53

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



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


#6 kostricyny

kostricyny

Отправлено 24 March 2015 - 07:17

Каким образом создавалась категория с неправильным алиасом?

Не могу точно об этом знать. Сайт уже 2 года, как живёт под управлением заказчика. А у меня в этом году была простая задача - обновить сайт с версии J 2.5/JBZoo 1.6.1 до последних версий. В ходе обновления и обнаружилась описанная особенность категории, но заказчик не может вспомнить, как создавалась конкретная категория с неправильным алиасом.

 

Для удобства администратора, при добавлении материалов на сайт, я создал много шаблонов, как для категорий, так и для материалов, и они все создавались по шаблонам, однако такая особенность встретилась только у одной категории. При анализе структуры экспорта материалов обнаружилась еще одна особенность - наличие в некоторых полях типа TextArea спецсимвола  CR (возврат каретки). Это значительно усложняло работу.

 

По другому опыту, положительному, где сайт сразу создавался на версии JBZoo 2.1.3, экспорт/импорт материалов  с большой и сложной структурой (около 20 000 записей и более 40 полей) происходил без проблем. Поэтому, при попытке объяснить причину проблемы, я остановился на рабочей версии - ошибки возникли в результате переезда с версии JBZoo 1.6.1 на версию JBZoo 2.1.5. 

 

Подвожу итог. С проблемой смещения полей в экспорте я справился в ручном режиме. Однако остались вопросы:

1. Почему при создании не обрезался пробел в конце алиаса категории?;

2. Как он смог попасть в экспорт материалов?;   

3. Почему пробел послужил признаком начала нового поля (или конца прежнего)?;

4. И одинок ли я ... в этой проблеме?

 

На сегодняшний день, для меня, эти вопросы уже историческое прошлое. Если сочтёте, что тема исчерпана, тогда её можно закрыть. Спасибо за участие.      


  • 0

#7 SmetDenis

SmetDenis

Отправлено 24 March 2015 - 07:42   Лучший Ответ


Не представляю почему это все стало возможным. Все алиасы проходят через эту функцию
media\zoo\applications\jbuniversal\framework\helpers-std\string.php sluggify()

Обязательный вызов trim убирает пробельные символы.

Пока у меня две теории
- Скорее всего в старых версиях алиас обрабатывался как то по другому (маловероятно)
- Был не печатаемый символ, который не считается пробельным. Соответственно не был вырезан. Скорее всего пришел из файла импорта.

Символов в UTF-8 65тыс+, поэтому есть такая вероятность, хоть и небольшая...
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#8 kostricyny

kostricyny

Отправлено 24 March 2015 - 09:24

Не представляю почему это все стало возможным. Все алиасы проходят через эту функцию
media\zoo\applications\jbuniversal\framework\helpers-std\string.php sluggify()

Обязательный вызов trim убирает пробельные символы.

Пока у меня две теории
- Скорее всего в старых версиях алиас обрабатывался как то по другому (маловероятно)
- Был не печатаемый символ, который не считается пробельным. Соответственно не был вырезан. Скорее всего пришел из файла импорта.

Символов в UTF-8 65тыс+, поэтому есть такая вероятность, хоть и небольшая...

Да, упустил из виду главное - база была в кодировке UTF-8 MB64 (по памяти), а первоначально при создании я сопоставил ей utf8_general_ci, затем базу самостоятельно перенесли на другой хостинг и очевидно поменяли сопоставление кодировки. С нею уже и работал. 


Сообщение отредактировал kostricyny: 24 March 2015 - 09:25

  • 0





Темы с аналогичным тегами alias, алиас, экспорт материалов, структура экспорта, ошибка

Click to return to top of page in style!