Закладки по сайту
Здравствуйте, подскажите пожалуйста решение для modx revo закладок по сайту. Цель такова. Любой пользователь может занести страницу (несколько страниц) с ресурсом в закладки (не социальные, а закладки на самом сайте), например нажатием на ссылку (картинку). При следующем посещении сайта он сможет при желании перейти к собственным избранным ресурсам (по закладкам). Если такое возможно, буду очень признателен за помощь.
Комментарии: 8
У юзера в профиле делаете дополнительное поле.
И пишите туда массив в Json формате.
$arr=array( id=>«Описание закладки») когда нужно вывести из id будите формировать ссылку, и в анкор пихать описание.
Удалить закладку — достать ее из пользователя и сделать-unset($arr[id]); и перезаписать массив обратно
Первое что пришло в голову. Может кто, что лучше подскажет. Удалить закладку
И пишите туда массив в Json формате.
$arr=array( id=>«Описание закладки») когда нужно вывести из id будите формировать ссылку, и в анкор пихать описание.
Удалить закладку — достать ее из пользователя и сделать-unset($arr[id]); и перезаписать массив обратно
Первое что пришло в голову. Может кто, что лучше подскажет. Удалить закладку
Нормальный вариант.
Я так и делал.
Если Вас не затруднит, объясните пожалуйста поподробнее, как привязать данную конструкцию к ссылке добавления в закладки. Откровенно говоря, я не очень силен в программировании, может быть есть похожие решения где использовался данный способ, чтобы я мог переделать его под свою задачу. Спасибо.
rtfm.modx.com/display/revolution20/modX.makeUrl у вас есть id документа — он же ключ массива. Передаете его этой функции она вам с генерирует урл на документ.
Не просто дается гранит науки программирования, но если я все правильно понял, то алгоритм такой:
I. Запись закладки
1. создать TV параметр в профиле пользователя (доп. поле);
2. создать сниппет получающий id авторизованного пользователя и id ресурса (добавляемого в закладки);
3. создать форму отправки единственного параметра (id ресурса) в созданный сниппет (отправлять, например с помощью Formit)
4. записать полученный id ресурса в доп. поле (массив) пользователя (найденного по id user)
II. Страница с закладками
1. создать ресурс (для авторизованного пользователя) с выводом всех его закладок с помощью makeUrl
III. Удаление закладки
1. создать сниппет (удаления) удаляющий id ресурса из доп. поля пользователя и записывающий оставшиеся id обратно. Остается вопрос, как пользователь на странице с множеством закладок может вызвать сниппет удаления конкретной одной закладки.
С помощью чего и как отправить в сниппет (удаления), id одной (из множества) удаляемой закладки?
Копаю в правильном направлении или совсем все криво?
I. Запись закладки
1. создать TV параметр в профиле пользователя (доп. поле);
2. создать сниппет получающий id авторизованного пользователя и id ресурса (добавляемого в закладки);
3. создать форму отправки единственного параметра (id ресурса) в созданный сниппет (отправлять, например с помощью Formit)
4. записать полученный id ресурса в доп. поле (массив) пользователя (найденного по id user)
II. Страница с закладками
1. создать ресурс (для авторизованного пользователя) с выводом всех его закладок с помощью makeUrl
III. Удаление закладки
1. создать сниппет (удаления) удаляющий id ресурса из доп. поля пользователя и записывающий оставшиеся id обратно. Остается вопрос, как пользователь на странице с множеством закладок может вызвать сниппет удаления конкретной одной закладки.
С помощью чего и как отправить в сниппет (удаления), id одной (из множества) удаляемой закладки?
Копаю в правильном направлении или совсем все криво?
создать TV параметр в профиле пользователя (доп. поле);Думаю, можно воспользоваться полем extended в профиле пользователя. Попробуйте начать отсюда — rtfm.modx.com/display/revolution20/Users
Алексей правильно дал ссылку
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.