Изменение системного адреса аватара в комментариях на адрес прикрепленного домена
По умолчанию, даже на сайтах с прикрепленным доменом, аватар пользователя в комментариях, системный код $USER_AVATAR_URL$ выводит со стандартным доменом третьего уровня. Это можно изменить.
На примере стандартного кода вида комментариев
Панель управления - Дизайн - Управление дизайном - Комментарии - Вид комментариев - Ищем код
Код
<?if($USER_AVATAR_URL$)?><a href="$PROFILE_URL$" title="$USERNAME$" style="padding-right:4px;"><span class="user_avatar"><img alt="" align="left" src="$USER_AVATAR_URL$" width="30" border="0" /></span></a><?endif?>
На разных шаблонах код может выглядеть несколько иначе, но кусок
Код
<img alt="" align="left" src="$USER_AVATAR_URL$"
единый для всех шаблонов. Код $USER_AVATAR_URL$ выводит полный адрес на картинку со стандартным доменом. На примере данного сайта это адрес _/dolly02.jpg наша задача изменить его на вывод /dolly02.jpg то есть от корня сайта.
Проблема в том, что на сайтах с uID авторизацией аватары пользователей могут иметь не только адреса сайта, но и адреса аватаров, подгружаемых с uID и с социальных сетей. Поэтому мы напишем условие, только для адресов сайта, остальные адреса аватаров будут подгружаться по умолчанию.
Код изменения адреса аватара на прикрепленный домен
Кусок кода по умолчанию
Код
<img alt="" align="left" src="$USER_AVATAR_URL$"
Изменённый код, который выведет аватар от корня сайта
Код
<img alt="" align="left" src="<?if(substr($USER_AVATAR_URL$,0,22)='http://webanetlabs.net')?><?substr($USER_AVATAR_URL$,22)?><?else?>$USER_AVATAR_URL$<?endif?>"
Осторожно! Число 22 получено для данного сайта, у разных сайтов и адресов оно будет разным
Описание условия вывода адреса аватара от корня сайта
На примере данного сайта. Стандартный адрес сайта _/ Адрес прикрепленного домена /
Код
Код
<?if(substr($USER_AVATAR_URL$,0,22)='http://webanetlabs.net')?>
читаем как. Если адрес аватара начинается с http://webanetlabs.net (считаем без закрывающего слеша это важно!!!) и имеет 22 символа до закрывающего слеша (символы можно подсчитать тут )
Код Код
<?substr($USER_AVATAR_URL$,22)?>
читаем как: отрезаем от адреса первые 22 символа (количество символов http://webanetlabs.net без слеша)
Код Код
<?else?>$USER_AVATAR_URL$<?endif?>
читаем как: в противном случае выводим адрес аватара по умолчанию.
Итого получается. Если адрес аватара начинается с _http://webanetlabs.net без слеша, то в адресе аватара отрезаем старый адрес сайта до слеша, иначе, выводим по умолчанию, чтобы работали аватары с uID
В итоге получаем во такой вид исходника
И такой адрес картинки