0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 4063 Просмотров
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Как создать элемент
« : 16.07.2012, 04:54:39 »
Буду благодарен за подсказку:
Как создать элемент "Адрес пользователя" (взять адрес из стандартного профиля пользователя Joomla 2.5) с плагином database jioin.
Вызов имени, логина, эл. почты есть, а "Адрес" нет, видим потому что не основное поле.
В настройках элемента похоже нет такой позиции, а что прописать в настройках элемента, для вызова адреса из БД не знаю.
« Последнее редактирование: 16.07.2012, 05:43:49 от Pelikan »
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #1 : 29.07.2012, 11:00:15 »
(взять адрес из стандартного профиля пользователя Joomla 2.5)
Если для хранения адреса используется com_contact, то идея такая:
Создаете скрытое поле (элемент) id пользователя и через него делаете join к таблице zheu_contact_details, в ней есть поле address
Fabrik: edit list -> Data -> Joins
« Последнее редактирование: 29.07.2012, 11:13:11 от pirks »
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #2 : 29.07.2012, 18:32:13 »
Спасибо за совет, но не совсем то. Мне надо взять адрес из профиля пользователя. В Joomla 2.5 в профиле пользователя есть дополнительные поля и там есть в том числе поле "адрес". Вот оттуда надо выцарапать как то.
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #3 : 29.07.2012, 18:37:55 »
Спасибо за совет, но не совсем то. Мне надо взять адрес из профиля пользователя. В Joomla 2.5 в профиле пользователя есть дополнительные поля и там есть в том числе поле "адрес". Вот оттуда надо выцарапать как то.
Значит join к zheu_user_profiles.
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #4 : 29.07.2012, 18:56:08 »
Посмотрел внимательно, не все так просто ...
для соединения с zheu_user_profiles нужны user_id и profile_key в данном случае 'profile.address1' ...
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #5 : 06.08.2012, 18:08:27 »
Что-то у меня ничего не получается. Если можно, распишите поэтапно, как это сделать.
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #6 : 09.08.2012, 16:41:40 »
Что-то у меня ничего не получается. Если можно, распишите поэтапно, как это сделать.
1. Создаем элемент user типа  user и в качестве User Data выбираем ID. Делаем его скрытным т.е Hidden - Да.
В этом  элементе будет сохраняться ID пользователя создающего запись в таблице.
Если у тебя уже есть поле где хранится ID, то этот пункт пропускаем.

2. Создаем элемент address типа display. Eval - Да. В поле Default пишем следующее:

Код
$db = JFactory::getDBO(); 
$query = "SELECT * FROM #__user_profiles WHERE user_id = {zheu_fk_street___user} and profile_key='profile.address1'";
$db->setQuery($query);
$row = $db->loadAssoc();
return ($row[profile_value]);

{zheu_fk_street___user} - это поле таблицы где у тебя сохраняется id пользователя, поменяй на свой.
profile.address1 - это значение для первого адреса. Для выбора другого поля из профиля необходимо поставить соответствующее значение.

Попробовал, работает. Есть только баг - при изменении записи выдает  ошибку. Надо еще посмотреть. Попробуй пока это.
« Последнее редактирование: 09.08.2012, 16:49:39 от pirks »
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #7 : 09.08.2012, 17:55:44 »
Попробовал, работает. Есть только баг - при изменении записи выдает  ошибку. Надо еще посмотреть. Попробуй пока это.
Все должно работать без проблем. Это была ошибка у меня в тестовых таблицах.
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #8 : 10.08.2012, 00:38:33 »
Спасибо! Все работает!
Но другая проблема вылезла.
Из БД выводится адрес не читаемым, набором цифр, как в БД записано: "\u0433. \u041f\u0435\u0440\u043c\u044c, \u0443\u043b. \u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439...

*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #9 : 10.08.2012, 13:47:40 »
Спасибо! Все работает!
Но другая проблема вылезла.
Из БД выводится адрес не читаемым, набором цифр, как в БД записано: "\u0433. \u041f\u0435\u0440\u043c\u044c, \u0443\u043b. \u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439...

Попробуй сделать так:
Код
$db = JFactory::getDBO(); 
$query = "SELECT * FROM #__user_profiles WHERE user_id = {zheu_fk_street___user} and profile_key='profile.address1'";
$db->setQuery($query);
$row = $db->loadAssoc();
$addr = iconv("UTF-8", "Windows-1251", $row[profile_value]);
return ($addr);

UTF-8 - кодировка исходная
Windows-1251 - наверное она нам нужна? :)

 http://www.php.net/manual/ru/function.iconv.php


« Последнее редактирование: 10.08.2012, 14:03:31 от pirks »
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #10 : 10.08.2012, 22:33:48 »
Ничего не изменилось. Сайт и БД в кодировке UTF-8. Я не разбираюсь в PHP, к сожалению.
« Последнее редактирование: 11.08.2012, 16:11:16 от Pelikan »
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #11 : 11.08.2012, 19:19:43 »
Ничего не изменилось. Сайт и БД в кодировке UTF-8. Я не разбираюсь в PHP, к сожалению.
Ну что можно сказать ... Попробуй вместо Windows-1251 что-то другое. Я не могу у себя воспроизвести это.
Ну разве если только ты мне выложишь архив сайта и таблицы MySQL )))
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #12 : 11.08.2012, 19:40:59 »
Надо какой то другой вариант извлечения адресов из БД найти. Пока вижу что в Fabrik только плагин usеr нормально выводит информацию из БД, но там нет адресов! В Профиле пользователя, в разделе "Информация об учётной записи" есть ненужные поля, типа "Дата последнего входа".
Вот как бы заменить это поле, на пункт "Адрес"?
« Последнее редактирование: 12.08.2012, 14:57:48 от Pelikan »
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #13 : 13.08.2012, 10:58:33 »
Надо какой то другой вариант извлечения адресов из БД найти. Пока вижу что в Fabrik только плагин usеr нормально выводит информацию из БД, но там нет адресов! В Профиле пользователя, в разделе "Информация об учётной записи" есть ненужные поля, типа "Дата последнего входа".
Вот как бы заменить это поле, на пункт "Адрес"?
Я сделал доступ в users_profiles так как описано в  Joomla Documentation - http://docs.joomla.org/Accessing_the_database_using_JDatabase
Посмотри, в phpMyAdmin как в какой кодировке таблицы в users и users_profiles ...
Проблема в кодировке ... будет чуть больше времени, посмотрю.
« Последнее редактирование: 13.08.2012, 11:02:00 от pirks »
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #14 : 13.08.2012, 15:56:04 »
Все таблицы в БД, в том числе, и эти в кодировке utf8_general_ci
Думаю, не в БД дело. Ведь эти же данные (адреса из профиля пользователя) из БД в контент Joomla выводятся правильно. Это скорее всего плагин Fabrik не отрабатывает.
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #15 : 13.08.2012, 16:23:03 »
Все таблицы в БД, в том числе, и эти в кодировке utf8_general_ci
Думаю, не в БД дело. Ведь эти же данные (адреса из профиля пользователя) из БД в контент Joomla выводятся правильно. Это скорее всего плагин Fabrik не отрабатывает.
У меня все отрабатывает! Какие версии Joomla и Fabrik?
« Последнее редактирование: 13.08.2012, 16:31:26 от pirks »
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #16 : 13.08.2012, 16:36:38 »
Пробуй весь код в поле  address заменить на

Код
return("Проверяем вывод кириллицы!");


Убедимся, что именно Fabrik выводит неправильную кодировку.
Если текст будет отображаться нормально, то Fabrik не причем, и нужно смотреть код который вытаскивает данные из  users_profiles.
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #17 : 13.08.2012, 17:28:05 »
Joomla 2.5, Fabrik 3.0.6

Не понял куда вставлять: return("Проверяем вывод кириллицы!");

*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #18 : 13.08.2012, 22:32:17 »
Не понял куда вставлять: return("Проверяем вывод кириллицы!");
вместо
Код
$db = JFactory::getDBO(); 
$query = "SELECT * FROM #__user_profiles WHERE user_id = {zheu_fk_street___user} and profile_key='profile.address1'";
$db->setQuery($query);
$row = $db->loadAssoc();
$addr = iconv("UTF-8", "Windows-1251", $row[profile_value]);
return ($addr);



*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #19 : 14.08.2012, 18:07:15 »
Вставил.
Выводит на сайт: Проверяем вывод кириллицы!
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #20 : 15.08.2012, 09:22:04 »
Вставил.
Выводит на сайт: Проверяем вывод кириллицы!
Значит Fabrik ни при чем, а дело в этом коде

Код
$db = JFactory::getDBO(); 
$query = "SELECT * FROM #__user_profiles WHERE user_id = {zheu_fk_street___user} and profile_key='profile.address1'";
$db->setQuery($query);
$row = $db->loadAssoc();
$addr = iconv("UTF-8", "Windows-1251", $row[profile_value]);
return ($addr);
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #21 : 15.08.2012, 15:58:03 »
Пора закрывать эту тему ... ))) Щас смоделирую эту кодировку у себя ...
*

pirks

  • Захожу иногда
  • 136
  • 8 / 0
Re: Как создать элемент
« Ответ #22 : 15.08.2012, 16:15:09 »
Из БД выводится адрес не читаемым, набором цифр, как в БД записано: "\u0433. \u041f\u0435\u0440\u043c\u044c, \u0443\u043b. \u0421\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439...
А почему это у тебя так в базе записано? Непорядок ... ))
*

Pelikan

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Как создать элемент
« Ответ #23 : 15.08.2012, 17:06:23 »
Не знаю почему. Адреса вписывал в админ панели Joomla  в профиль пользователя, как обычно.
Выводится адрес из профиля пользователя на страницах сайта нормально, на русском в читаемом виде.
И только в Fabrik  выводится адрес в не читаемом виде \u0442\u0435\u043b\u0435\u0439...
« Последнее редактирование: 15.08.2012, 17:13:17 от Pelikan »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Элемент "file upload" + имя пользователя

Автор tlsea

Ответов: 19
Просмотров: 6320
Последний ответ 03.03.2016, 20:52:16
от Gorilla
Cascading Dropdown элемент, как вывести данные из другого элемента

Автор vladimir199128

Ответов: 0
Просмотров: 2022
Последний ответ 09.12.2015, 06:22:28
от vladimir199128
Как создать поле с проверкой на уникальность?

Автор mystique

Ответов: 0
Просмотров: 1927
Последний ответ 05.04.2013, 14:06:46
от mystique
Fabrik 3.0.6 для Joomla 2.5. Кто-то работал с этой версией. Удалось ли создать таблицы без ошибки

Автор SeaScape

Ответов: 1
Просмотров: 3197
Последний ответ 14.02.2013, 16:18:58
от SeaScape
Можно ли создать группу в группе?

Автор Tatyana111

Ответов: 0
Просмотров: 1452
Последний ответ 27.02.2012, 11:26:29
от Tatyana111