Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Дать пользователю возможность быстро отредактировать материал

Просмотров: 7698 На одном из разрабатываемых сайтов, пользователи формируют его контент. После регистрации, становится доступен персональный раздел в котором, помимо стандартной социальной сети, выводятся все материалы пользователя и выведен компонент "Добавление . редактирование элементов инфоблока". Для большего удобства- в конкретном материале нужно было вывести ссылку- отправляющую пользователя прямо на страницу с этим компонентом.

Итак: страница на которой выведен компонент имеет адрес "/personal/dobavlenie-retsepta/", редактирование ранее добавленного элемента "/personal/dobavlenie-retsepta/?edit=Y&CODE=ID-элемента"

Получаем нужные данные через API Битрикс

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

Дело за малым: с помощью API Битрикс нужно выполнить ряд проверок, так что бы только владелец материала (элемента) видел ссылку на редактирование:


<?
 $create_user = $arResult["CREATED_BY"];
 $GLOBALS['users'] = array("CREATED_BY" => $create_user);
 $userid = $create_user;
 $rsUser = CUser::GetByID($userid);
 $arUser = $rsUser->Fetch();  
 ?>

 <?if(CUser::IsAuthorized()):?>
 <?
   $hoster = $arUser["LOGIN"];
   global $USER;
   $nowUser = $USER->GetLogin();
   if($nowUser===$hoster):
 ?>
   <a class="redaktor" href="/personal/dobavlenie-retsepta/?edit=Y&CODE=<?=$arResult['ID']?>">
       Изменить рецепт
   </a>
 <?endif;?>
 <?endif;?>

Пояснения

  • CUser::GetByID - получаем все данные пользователя добавившего элемент, это мне нужно было для других задач (вывести имя автора статьи, получить ссылку на его профиль в социальной сети и.т.д.)
  • if(CUser::IsAuthorized()): - проверяем авторизован ли пользователь. Не важно владелец материала или нет- просто текущий пользователь читающий материал.
  • $hoster = $arUser["LOGIN"]; - переменной $hoster назначаем логин пользователя-владельца материала.
  • $nowUser = $USER->GetLogin(); - переменной $nowUser назначам логин текущего авторизованного пользователя.
  • if($nowUser===$hoster) - проверяем: тождественен ли (совпадает ли) логин владельца и текущего "читателя".
  • /personal/dobavlenie-retsepta/?edit=Y&CODE=<?=$arResult['ID']?> - если все совпало- то выводим ссылку на редактирование- как есть но в конце подставляем ID текущей статьи

Вот и все, теперь пользователю-автору статьи не нужно идти в кабинет, в список всех своих статей. Теперь можно отредактировать материал прямо с его страницы

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс