Вывод профилей пользователя на других сайтах

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Вывод профилей пользователя на других сайтах

Встала задача вывести вот такой блок ссылок пользователя (каждая иконка - профиль пользователя на внешнем сайте). Тут я опишу простой процесс как это сделать. Основная сложность, как вы понимаете, у каждого сайта своя уникальная favicon.

scr3.jpg

1. Для начала заведем пользовательское свойство, назовем его как-то и выведем в стандартном компоненте редактирования профиля

scr1.jpg

Немного кастомизируем согласно дизайну

scr2.jpg

Собственно, тут много ума не надо. Надо теперь вывести.

2. Допустим, у нас уже есть страница пользователя на вашем сайте. Это может быть профиль соцсети или карточка форума, или карточка блога, или может самописный компонент. В этом шаблоне в нужном месте пишем примерно такой вод код:

        <?if (!empty($arResult['UF_WEB_PROFILES'])):?>
        <div class="user-detail-property">
                <div class="user-detail-property-h">Профили:</div>
                <div class="user-detail-property-val">
                        <ul class="content-social-list">
                        <?foreach ($arResult['UF_WEB_PROFILES'] as $url):
                                $arUrl = parse_url($url);
                                if (!strlen($arUrl['host'])) {
                                        continue;
                                }
                                ?>
                                <li><a href="<?= $url?>" title="<?= $url?>" target="_blank" rel="nofollow"><img src="//s2.googleusercontent.com/s2/favicons?alt=p&amp;domain=<?= $arUrl['host']?>" alt="<?= $url?>"></a></li>
                        <?endforeach;?>
                        </ul>
                </div>
        </div>
        <?endif;?>


Если отбросить html, то ключевой код здесь:

$arUrl = parse_url($url);//парсим ссылку стандартной php-функцией
if (!strlen($arUrl['host'])) {// если она пуста, не обрабатываем ссылку
....
//пользуемся магической ссылкой от Гугла, которая вернет favicon сайта в виде обычной картинки, а если такой иконки (или сайта) нет, то вернет картинку-заглушку
<img src="//s2.googleusercontent.com/s2/favicons?alt=p&amp;domain=<?= $arUrl['host']?>">


Результат вы уже видели

scr3.jpg

 

 

Источник: http://dev.1c-bitrix.ru/community/webdev/user/11948/blog/6727/

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA