Разрабатываю профиль пользователя. Столкнулся с "китайской" задачкой: необходимо составить наиболее полный список возможных web-контактов пользователя. Желательно ещё представлять как они выглядят! Для справки - все контакты хранятся в сериализованном массиве вида: PHP: <?php $new_user['contacts'] = serialize(array('website' => NULL, 'icq' => NULL, 'aim' => NULL, 'yim' => NULL, 'msn' => NULL, 'jabber' => NULL, 'skype' => NULL)); И т.д. Гуголь дал понять, что этой дряни много. Примерчик из квипа: Делать расширяемый профиль не хочу. Пока не хочу. Сам в интернетах контактов имею предельно мало и не знаю как выглядит тот или иной адрес. Если кто-нибудь зарегистрирован в какой-нибудь системе обмена сообщениями или социальной сети - пришлите мне ЛС с образцом адреса. Буду благодарен. Теперь по расширяемому профилю. Ограничения существующей реализации понимаю. Думал над расширяемым профилем. Смысл такой: 1. Где-то в админке есть раздел, где можно можно рулить полями профиля. 2. Есть табличка в бд. В ней содержаться данные о полях профиля. Что-то типа этого: id | type | min_length | max_length | и т. д. В этой табличке описываем поле: текст или нет, кол-во символов, нужен ли редактор и т. д. 3. Есть табличка с данными профиля пользователей. Примерно такая: user_id | поле_id | value Думаю идея ясна. Кто-нибудь подобное делал? Может есть какой-нибудь движок оупенсорсный где можно реализацию посмотреть? А то приспичило мне сегодня =) Хочу красиво сделать.
на счёт формата контактов не знаю. если для каждого юзверя свои поля, то кешировать в виде сериализации в таблице профилей конкретного юзверя если для всех одинаковые, ну таблица норм. для вывода кешировать её в массив опять же.
Поля профиля для всех должны быть общими. Ничего кешировать не надо. Что за мания всё кешировать. Скоро кеш будут кешировать, если уже не кешируют. Когда надо дёргаем данные из бд и не паримся. Я нашёл реализованный расширяемый профиль в ipb. Сейчас переделываю на свой лад. Насчёт ipb - ребята курили, много, регулярно. С расширяемым профилем мне, вроде, пока, всё понятно. Сделаю, расскажу как делал. Теперь у меня новая задачка - вынести настройки пользователей из таблицы `users`. Смысл этого действа: Некоторые модули требуют своих настроек, индивидуальных для каждого пользователя. Делать для каждого модуля свои таблички в БД не айс. Можно, конечно, так сейчас и сделано. Сейчас у меня в таблице `users` есть некоторый набор настроек. Но он избыточен. Например при отсутствии модуля "личные сообщения" несколько полей в таблице нафиг не упали. Надо избавляться. Для этого необходимо придумать какую-нибудь универсальную систему хранения настроек пользователя. То-есть - добавляем модуль, он добавляет куда-то всем пользователям свои настройки и всё это можно поправить в профиле. Думаю...
Luge Настройки модулей лежат в таблице `config` вместе со всеми другими настройками. Что-то типа реестра. Но некоторые модули требуют индивидуальных настроек для каждого пользователя. То-есть, например, модуль личных сообщений должен знать, а разрешил ли ты приём личных сообщений у себя или нет. Для этого требуется расширяемое хранилище настроек пользователей. Куда модуль мог бы внести свои настройки для каждого юзера. Сижу думаю.
тебе не надо, чтобы модуль сам вносил данные в аблицу настроек юзера. Тебе достаточно использовать дефолтные, если юзер ничего не настроил и брать пользовательские, если они вообще есть можно вообще банально: [sql]CREATE TABLE `settings` ( `module_id` int(10) NOT NULL, `setting_id` int(10) NOT NULL, `user_id` int(10) NOT NULL, `value` enum('yes','no','hz') NOT NULL )[/sql]
а что это будет? обмен сообщениями через браузер, типа аська в браузере? прикольно ато у нас в универе не дают аську на компы ставить) а браузер с инетом есть)
vCard — это всего-лишь формат представления данных, понимаемый многими программами. Так же, как и hCard — представление формата vCard в формате xml для публикации в html, rss и т.д. и т.п.
Hight так а в чём тогда проблема возникает? у тебя же всё сделано =) кешировать не помешает, это же статика по сути. по настройкам. я делал просто. имеется табл. с настройками. табл. с найтроками юзверя. Опять таки, это фактически статика, так что всё кешировалось прямо в табл. юзверей =)