Компонент Флиртики для 1.10.3

#1 29 октября 2013 в 14:24
Всем привет, я начинающий программист и это мой первый компонент, раньше я никогда не разрабатывал ни модуля ни плагина и тем более компонента, так что не судите строго)

Компонент Флиртики — это что то типа игра для вашего сайта, суть компонента в том что бы сблизить ваших пользователей друг с другом…
Например: Пользователю Вася понравилась Маша и он отправил ей флиртик. В Меню пользователя рядом с Сообщения появиться Флиртик(+1) при нажатии открывается страница с 12 случайных парней из сайта, Маша должна найти того парня который отправил Флиртик и у нее 5 попыток… Если Маша сделает неправильный выбор то каждый раз от нее имени отправиться Флиртик тому парню… Каждый неправильный выбор выделяется красным цветом.
Если Маша из списка выберить Васю то произойдет перенаправление к ее профилю, к вкладке Флиртики где будут хранятся Взаимные флиртики...

Скриншоты:
1. Главная страница компонента


2. Страница отправки флиртика


3. Меню пользователя


4. Страница где нужно найти того кто отправил флиртик


5. Вкладка Флиртики в профиле пользователя


В компоненте есть недоработки, по этому прежде чем создать запись в блоге, хотел попросить помощь у сообщество…
Недоработки:
1. После установки компонента, если ввести site.ru/flirtiki/ по умолчанию должна открываться do == "main" но этого не происходить хотя на сайте где создается компонент всё отлично работает
2. Надо преобразовать дату рождения на возраст.
3. При нахождение флиртика должно открываться вкладка Флиртики в профиле но открывается просто профиль
Прикрепленный файл
flirtiki_82i9b.zip 80 Кб
#2 29 октября 2013 в 15:59
1. в router.php нет никакого "main"
2. пользуйтесь поиском по сайту, было пару решений
3. наверное надо якорь использовать…
#3 29 октября 2013 в 16:12
1. Добавил main в роутер
  1.  
  2. $routes[] = array(
  3. '_uri' => '/^flirtiki\/main$/i',
  4. 'do' => 'main'
  5. );
  6.  
Всё ровно не работает

3. наверное надо якорь использовать...

Sonat

Незнаю как добавить) например у вкладки Награды нет ссылки а есть якорь на див блок #upr_awards
а если содержимое вкладки загружается с другого файла, незнаю как тут быть
#4 29 октября 2013 в 17:52
Глядя на скриншоты так и хочется отправить десяток флиртиков! smile
Плюс в карму Evanescence для блогов
#5 29 октября 2013 в 17:52
1. Так:
  1. $routes[] = array(
  2. '_uri' => '/^flirtiki$/i',
  3. 'do' => 'main'
  4. );
3. http://instantcms.ru/users/Evanescence#upr_awards — откроется вкладка наград

2. Так:
  1. function calculate_age($birthday) {
  2. $birthday_timestamp = strtotime($birthday);
  3. $age = date('Y') - date('Y', $birthday_timestamp);
  4. if (date('md', $birthday_timestamp) > date('md')) {
  5. $age--;
  6. }
  7. return $age;
  8. }
#6 29 октября 2013 в 18:01

1. Так:

lokanaft
Не работает, наверно это только у меня

3. instantcms.ru/users/Evanescence#upr_awards — откроется вкладка наград

lokanaft
Да, но как открыть вкладку который в атрибуте href="" стоить ссылка а не якорь
#7 29 октября 2013 в 19:25
отличная разработка!
#8 30 октября 2013 в 08:50

Всем привет, я начинающий программист и это мой первый компонент, раньше я никогда не разрабатывал ни модуля ни плагина и тем более компонента, так что не судите строго)

Evanescence
Неплохо, очень неплохо для начинающего программиста ))) Раньше вообще не кодили?
В карму плюсанул — ждем нового взрывного блога :)
#9 30 октября 2013 в 09:47
+
под данную схему можно и другие игры создавать
#10 30 октября 2013 в 11:11
идея интересная
#11 30 октября 2013 в 12:00
Интересно! Ваша идея такого сервиса?
#12 30 октября 2013 в 15:02

Неплохо, очень неплохо для начинающего программиста ))) Раньше вообще не кодили?

AndroS
Раньше только для себя подправлял коды и т.д, но когда посмотрел видео Instantcms 2 — Пишем компонент начал по немножко понимать как всё устроено)

Интересно! Ваша идея такого сервиса?

Noname
Часть идеи не моя, такая фишка лет 3-4 назад была в одном сайте который щас не работает, захотел сделать такой для себя и сделал частично по памяти) точно помню что там предлагали 12 случайных людей и была попытка…
#13 30 октября 2013 в 15:07
Периодически гуляю по социальным сервисам. Что-то подобное есть в badoo.
Выбираешь из списка предлагаемых фотографий. ТАк на вскидку: Хочу встретиться, поболтать, ничего не хочу. И если Ваши желания совпадают, то вуаля — показывает. Ну и если Вас кто-то выбрал, то приходит сообщение, о том что кто-то хочет встретиться с вами. как-то так. Может автору данного компонента будет интересно это воплотить ;)
#14 30 октября 2013 в 15:40

Может автору данного компонента будет интересно это воплотить ;)

Amurland
Интересно конечно, после Флиртиков постараюсь взяться за данную идею)
#15 1 ноября 2013 в 08:06
Помогите выполнить SQL запрос
В таблице cms_flirtiki есть поле status
Когда status == 0 это значить флиртик активный
status == 1 — флиртик не активный (Пользователь исчерпал свои 5 попыток)
status == 2 — флиртик считается взаимным
Вот запрос:
  1. SELECT i.id, i.login, i.nickname, p.imageurl, f.date, f.id AS fid
  2. FROM cms_users i
  3. INNER JOIN cms_user_profiles p ON p.user_id = i.id
  4. INNER JOIN cms_flirtiki f ON f.ot_kogo = i.id
  5. WHERE f.status = 2
  6. AND f.komu = {$my_id}
  7. OR f.status = 2 AND f.ot_kogo = {$my_id}
  8. LIMIT 0 , {$limit}
Результат выводить только тех взаимных флиртиков которые получатель я, а те которые я отправлял, просто выводить меня самого в вкладке взаимных. Если менять INNER JOIN cms_flirtiki f ON f.ot_kogo = i.id на… f.komu = i.id то наоборот.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.