Пара телодвижений позволяющих организовать показ в профиле пользователя тип устройства, точнее USER AGENT с которым пользователь приходил на сайт при последнем посещении когда обновлялся его logdate
1. Сделать бэкап таблицы cms_users из базы данных и всех изменяемых файлов и сохранить в надёжном месте.
2. В базе данных сделать запрос
3. В файле /core/classes/user.class.php
вместо
вставить
4. В файле /components/users/fronted.php
Перед
вставить
(Если хотите учитывать все возможные юзер агенты, можете поискать их список и добавить строки под каждый юзер агент.)
5. В этом же файле чуть ниже перед
вставить
6. В шаблоне com_users_profile.tpl
где нибудь перед или после {$usr.flogdate}
вставить
в папку /images/icons/devices/ закачать иконки для каждого юзер агента в списке из пункта 4. То есть android.png, ipod.png, iphone.png и так далее.
Если всё сделали верно должно получиться как то так.
Вроде ничего не забыл.
Если хотите дополнить, улучшить, не стесняйтесь.
Не то, что бы я кого то уговаривал, просто объясняю (в ответ на вопросы ниже) зачем это было нужно мне.
Делал себе для того, что бы лучше понимать с каких устройств на сайте лучше конверт, регистрация и далее. Яндекс метрика показывает соотношение мобильных посетителей к десктопам, но далее у меня провал, я не могу знать, кто чаще регистрируется, мне хотелось бы это понимать для себя, как админа. Например, таким образом, я наконец то узнал, что есть такой юсер агент как Windows Phone, а у меня в настройках мобильной версии не указано, что этому юсер агенту показывать мобильную версию и люди с этих устройств получали полную версию.
Ну и вторая причина, как пользователь, это есть на всех сайтах типа социальной сети, и я обычно обращаю на это внимание, с какого устройства мой собеседник или с какого устройства заходил последний раз человек который меня интересует. Не знаю, что это даёт, просто небольшой штрих.
Список юсер агентов
После двух дней работы на своем сайте, у себя добавил два агента для Макинтош (десктоп) и Виндовс Фон (мобильный)
Выше тоже их добавил.
В принципе, думаю нет нужды выводить разную иконку под каждый юзер агент одного типа. Например opera mini, iphone, windows phone могут выглядеть одинаково, как мобильный телефон, а для подробной информации (для админа) можно добавить тег title, что бы при наведении на иконку появлялась подсказка, какой именно Юзер агент.
1. Сделать бэкап таблицы cms_users из базы данных и всех изменяемых файлов и сохранить в надёжном месте.
2. В базе данных сделать запрос
ALTER TABLE `cms_users` ADD `lastlog_uagent` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `openid`;
вместо
cmsDatabase::getInstance()->query("UPDATE cms_users SET logdate = CURRENT_TIMESTAMP WHERE id = '$user_id'");
$useragent = cmsCore::strClear((string)$_SERVER['HTTP_USER_AGENT']); cmsDatabase::getInstance()->query("UPDATE cms_users SET logdate = CURRENT_TIMESTAMP, lastlog_uagent = '$useragent' WHERE id = '$user_id'");
Перед
cmsPage::initTemplate('components', 'com_users_profile.tpl')->
$user_logdate_agent = $usr['lastlog_uagent'];
5. В этом же файле чуть ниже перед
display('com_users_profile.tpl');
assign('user_device', $user_device)->
где нибудь перед или после {$usr.flogdate}
вставить
{if $user_device}<img src="/images/icons/devices/{$user_device}.png" alt="{$user_device}" align="absmiddle" width="16" height="16" />{/if}
Если всё сделали верно должно получиться как то так.
Вроде ничего не забыл.
Если хотите дополнить, улучшить, не стесняйтесь.
UPDATE
Зачем этоНе то, что бы я кого то уговаривал, просто объясняю (в ответ на вопросы ниже) зачем это было нужно мне.
Делал себе для того, что бы лучше понимать с каких устройств на сайте лучше конверт, регистрация и далее. Яндекс метрика показывает соотношение мобильных посетителей к десктопам, но далее у меня провал, я не могу знать, кто чаще регистрируется, мне хотелось бы это понимать для себя, как админа. Например, таким образом, я наконец то узнал, что есть такой юсер агент как Windows Phone, а у меня в настройках мобильной версии не указано, что этому юсер агенту показывать мобильную версию и люди с этих устройств получали полную версию.
Ну и вторая причина, как пользователь, это есть на всех сайтах типа социальной сети, и я обычно обращаю на это внимание, с какого устройства мой собеседник или с какого устройства заходил последний раз человек который меня интересует. Не знаю, что это даёт, просто небольшой штрих.
Список юсер агентов
После двух дней работы на своем сайте, у себя добавил два агента для Макинтош (десктоп) и Виндовс Фон (мобильный)
Выше тоже их добавил.
В принципе, думаю нет нужды выводить разную иконку под каждый юзер агент одного типа. Например opera mini, iphone, windows phone могут выглядеть одинаково, как мобильный телефон, а для подробной информации (для админа) можно добавить тег title, что бы при наведении на иконку появлялась подсказка, какой именно Юзер агент.
{if $user_device}<img src="/images/icons/devices/{$user_device}.png" {if $is_admin} title="{$user_device}"{/if} alt="{$user_device}" align="absmiddle" width="16" height="16" />{/if}
Реклама #
Олег Васильевич я 7 лет назад #
Нил™ 7 лет назад #
2) Что бы внушить пользователю чувство незащищенности, показать ему, что мы кое что о нём знаем *многозначительная ухмылка*, и это только цветочки.
3) Спонсор показа "Туркменские авиалинии"
Atid 7 лет назад #
Нил™ 7 лет назад #
Александр 7 лет назад #
Alekskrug 7 лет назад #
Def 7 лет назад #
Нил™ 7 лет назад #
Ai 7 лет назад #
Soul 7 лет назад #
титанио 7 лет назад #
TOPg 7 лет назад #
Val 7 лет назад #
Jestik 7 лет назад #
титанио 7 лет назад #
TOPg 7 лет назад #
Нил™ 7 лет назад #
TOPg 7 лет назад #
Нил™ 7 лет назад #
Я не разработчик ЖЕ. Я просто методом тыка кое что делаю для себя и кое-что из этого кое-что иногда готов выложить для тех, кто сам не может.
Лучше сделайте по-другому. Огласите сколько можете заплатить и разработчики для двойки которых тут много-много, вероятно найдут время что бы сделать это для вас.
Или посмотрите тут http://instantcms.ru/freelancers
Нил™ 7 лет назад #
С единицей осталось работать много энтузиастов, да и там уже много чего есть.
А для двойки пока в основном каждый чих за $$$
TOPg 7 лет назад #
Нил™ 7 лет назад #
Ris 7 лет назад #
Также стрипозом из юзерагента.
WD Sx21 6 лет назад #
Нил™ 6 лет назад #
попробуйте задать класс для самой картинки и прописать ширину в css для класса
<img class="userdeviceinfo"
.userdeviceinfo{
width:16px!important;
height:16px!important;
}
Если не поможет, то вместо
Нил™ 6 лет назад #
WD Sx21 6 лет назад #
WD Sx21 6 лет назад #
WD Sx21 6 лет назад #