Создание системы лайков — в избранное
-
Можете обьяснить как эта система должна работать ? К примеру на некоторых сайтах как я понял она сделана на базе cookies, т.е пользователю даже не нужно регистрироваться, он просто переходит в пост, нажимает «сердечко» и ссылка сохраняется в меню избранное.
Второй вариант — это когда на сайте под под изображением иконки есть счётчик, типа, сколько людей добавили твой пост в избранное, вот тут интересно как это должно работать, к примеру если кто-то удалит из своего избранного, счётчик измениться у пользователя под постом ? Или он просто считает сколько людей нажали ? Просто если в первом случает, то как я понял в загрузке поста идёт проверка по всей БАЗЕ избранного кто куда и что добавил ? *пусть дажей только ID — но, всё равно это как-то накладно думаю для такой мелкой функции ?
-
wildapache, привет.
К примеру на некоторых сайтах как я понял она сделана на базе cookies, т.е пользователю даже не нужно регистрироваться, он просто переходит в пост, нажимает «сердечко» и ссылка сохраняется в меню избранное.
Такое бывает, но смысла особого не имеет, так как данные сохраняются в рамках одного визита (может быть жизнь кук продлена разработчиком до ХХ дней, но общей сути это не меняет). Проще говоря, функциональность сильно ограничена, да и метод реализации сомнительный.
Второй вариант — это когда на сайте под под изображением иконки есть счётчик, типа, сколько людей добавили твой пост в избранное, вот тут интересно как это должно работать, к примеру если кто-то удалит из своего избранного, счётчик измениться у пользователя под постом ?
Если логику прописали корректно, то это обычные +1 и -1 на пользователя.
Или он просто считает сколько людей нажали ?
всё равно это как-то накладно думаю для такой мелкой функции ?
Всё это целиком зависит от реализации и нужд проекта. Нагрузку, хотя бы минимальную, но такая штука даёт, это верно.
Такое бывает, но смысла особого не имеет, так как данные сохраняются в рамках одного визита (может быть жизнь кук продлена разработчиком до ХХ дней, но общей сути это не меняет). Проще говоря, функциональность сильно ограничена, да и метод реализации сомнительный.
Почему сомнительный ? К примеру по быстрому пройтись по товарам, добавить что нужно, потом когда время придёт, зашёл посмотрел опять. На самом деле такой вариант много-где используется, т.е ссылки храняться в браузере клиента (там не совсем кукисы, забыл как назвывается, там именно данные сохраняются на стороне клиента), т.е это почти как ты добавил в избранное (функционалом браузера) только — на сайте. Потом пользователь может зайти в это избранное на сайте и удалить ссылку, грубо говоря он её удаляет из своего браузера.
Просто проект не очень крупный, вот думаю что прикручивать, первый функционал на данных браузреа или же на php+sql c айди. Можно конечно было бы просто сделать счётчик, мол кто-то добавил себе в избранное, а там удалил он оттуда или нет уже неизвестно. (такая реализация была бы простой и без особой нагрузки, так как просто бы считывался счётчик — кликов) а не проверка у пользователей который добавили или удалили..
wildapache,
там не совсем кукисы, забыл как назвывается, там именно данные сохраняются на стороне клиента
LocalStorage, да, тоже вариант. Изначально были упомянуты куки, поэтому я говорил конкретно про такую реализацию.
Просто проект не очень крупный
Прикручивайте то, что понимаете по специфике работы и что сможете лучше контролировать и поддерживать на дальней дистанции.
Просто если в первом случает, то как я понял в загрузке поста идёт проверка по всей БАЗЕ избранного кто куда и что добавил ? *пусть дажей только ID — но, всё равно это как-то накладно думаю для такой мелкой функции ?
Просто добавьте записи метаполе счетчика, ну и обновляйте ajax-ом при взаимодействии с кнопкой.
Просто добавьте записи метаполе счетчика, ну и обновляйте ajax-ом при взаимодействии с кнопкой.
Да я уже писал об этом выше, что можно сделать просто кнопку и считать, а можно сделать кнопку и действительно считать — есть ли у пользователй в избранном айди твоего поста — к примеру если кто-то удалит, то у тебя будет -1 в счетчике избранного твоего поста. Первый вариант простой, просто пользователь видет что кто-то добавил его пост к себе избранное, а дальше удалил он его или нет ему будет неизвестно, просто нажал добавить. Второй вариант как я понял нужно создавать таблицу и вносить айди пользователей и айди постов которые у этого айди в избранном или как-то так, но, в этом случае будет нагрузка на БД, так как при загрузке поста, будет идти проверка и по айди избранного в бд таблице, в общем это ещё та заморочка.
По этому думаю сделать либо как Вы написали, просто счётчик нажатий, либо ещё проще на LocalStorage основе (но тут не будет счётчика даже простого) просто функционал для самого пользователя, пришёл насохранял что нужно и всё.
-
Ответ изменён 7 месяцев, 3 недели назад пользователем
wildapache.
Пошёл другим путём, посмотрел несколько современных сайтов и понял примерно как у них реализованно. В первом случае, избранное строго привязанно к профилю и выводится посты из БД. То есть без авторизации на сайте, вы ничего не сможете добавить в избранное сайта.
Второй вариант, избранное без авторизации, любой человек может зайти на сайт и без авторизации быстро подобавлять себе нужных постов в раздел избранное. Потом по надобности удалить. Этот вариант самый лёгкий и простой в плане того что сайт не будет нагружаться от слова вообще, так как при такой реализации нам от сайта ничего не нужно знать, кроме как айди постов которые добавил пользователь. Работает хорошо, пользователь нажимает на «сердечко» после чего оно подсвечивается цветом — что означает что он добавил этот пост к себе в избранное, далее даже если пользователь перегрузить страницу, он всё равно будет видеть все свои отмеченные в избранное посты на сайте (без всякой авторизации). Далее всё просто, пользователь заходить в раздел избранное видит список — фото — текст или что нужно показать из айди выбранного поста. Нажимает и переходит по ссылке, так же есть возможность удалить из избранного, просто нажать ещё раз на «сердечко» или можно добавить кнопку удалить.
Конечно вариант с авторизацией более стабилен, но, думаю придавать разделу избранное такую важную роль — это лишнее ! Обычно пользователи не так часто этим пользуются если конечно это не сайт товаров с посещаемостью в десятки тысяч
-
Ответ изменён 6 месяцев назад пользователем
wildapache.
В общем нужен совет со стороны.
Вариант без авторизации — каждый посетитель может добавить в меню сайта избранное, любой пост, к примеру максимум 10 штук. Если требуется, может удалить как отдельный пост избранного или же очистить весь список который надобавлял.
Как я это вижу, пришёл юзер, без смс и регистрации, увидел, понравилось добавил, потом когда нужно, посмотрел избранное, зашёл в определённый пост, отправил сообщение (всё это без регистрации)
Вариант с авторизацией — добавить пост в избранное можно только после регистрации, при этом режиме работает статистика, сколько юзеров добавило к себе этот пост в избранное, т.е добавление и удаление избранного влияет на счетчик «в избранном у пользователей» «столько-то штук. Юзер удалил, минусуем, добавил, плюсуем, т.е хозяин поста может смотреть сколько пользователей добавило его пост к себе в избранное, но, такой вариант т.е его нормальная работа возможна только при авторизации пользователей.
Вот тут встал вопрос какой вариант реализовывать, в первом варианте, как бы быстро и удобно, во втором, нужна регистрацию, но, вот хорошо тем что хозяин поста может видеть «сколько юзеров добавили его пост к себе в избранное».
-
Ответ изменён 5 месяцев, 4 недели назад пользователем
wildapache.
-
Ответ изменён 7 месяцев, 3 недели назад пользователем
Для ответа на тему необходимо авторизоваться.