Как сделать систему лайков в bitrix?

228
29 июня 2018, 11:40

Пытаюсь сделать систему лайков на cms битрикс,
принцип такой:

1) При заходе на страницу, посетителю выводятся блоки с информацией за которую можно проголосовать.
2) При клике на лайк, значение становиться +1
3) При повторном клике, значение -1
4) Каждый раз как только был совершен клик, делается AJAX запрос, который изменяет значение свойства элемента инфоблока и увеличивает или уменьшает счетчик лайков.

Завел инфоблок с значение свойств:
1) Лайки - тип число
2) Ссылка на фотографию - тип строка
3) Имя пользователя - тип строка
4) ID того, кто лайкнул - тип список

Единственное что осталось, так это добавлять id пользователя в список когда он ставит лайк,
что бы отследить посетителя и не дать возможность сделать повторный лайк при перезагрузке страницы (или ip если пользователь не зарегистрирован).

Вопрос именно в этом, как добавить в значение свойства типа "множественную строку" информацию и как удалить, заранее спасибо.

Так это выглядит: https://www.zelenyjostrov.ru/contest-pictures.php

Answer 1

Воспользуйтесь методом SetPropertyValuesEx() как им пользоваться есть примеры в документации.

Вот общий пример как работать с этим методом для множественной строки:

$PROPERTY_VALUE = array(
  0 => array("VALUE"=>"значение","DESCRIPTION"=>"описание значения"),
  1 => array("VALUE"=>"значение2","DESCRIPTION"=>"описание значения2") 
);
CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, $IBLOCK_ID, array($PROPERTY_CODE => $PROPERTY_VALUE));
Answer 2

Можно также во множественной строке хранить не ID пользователей, а ip - тогда лайки могут ставить и неавторизованные пользователи, свойство типа список для этого не при

READ ALSO
Не срабатывает оператор switch

Не срабатывает оператор switch

Работаю над маленьким проектом на WPПроблема со срабатыванием оператора switch - ничего не выводится, если только это не case(« Yefren Carrero « );:

186
Не могу применить миграцию

Не могу применить миграцию

помогите пожалуйста разобраться, при применении миграции php yii migrate/to m180606_092852_add_secret_key_in_user_table выходит ошибка:

231
Как подключить composer

Как подключить composer

Я скопировал сайт с одного сервера на другой простым копированием (сайт на yii2)В проекте есть composer

199