Виталий Греков

Виталий Греков

С нами с 29 мая 2013; Место в рейтинге пользователей: #390

Расширенные поля пользователей

Небольшая пошаговая инструкция, как научиться сохранять любые интересующие данные о юзере в специальное поле extended.

На самом деле, это никакой не секрет. Во многих объектах MODX есть специальное поле типа JSON, которое хранится в БД как текст, например, properties у modResource и extended у modUserProfile.

При работе с объектами xPDO, JSON текст из этих полей превращается в массивы. То есть, общий принцип выглядит так:
// id нужного пользователя
$user_id = 15;
// Получаем объект modUser
if ($user = $modx->getObject('modUser', $user_id)) {
	// Получаем связанный с ним профиль пользователя
	if ($profile = $user->getOne('Profile')) {
		// Получаем специальное поле extended
		$extended = $profile->get('extended');
		// Добавляем новое значение
		$extended['mykey'] = 'mydata';
		// И сохраняем обратно в профиль
		$profile->set('extended', $extended);
		$profile->save();
	}
}
Самое приятное, что эти данные вы можете не только просмотреть на странице пользователя, но и изменить.
Василий Наумкин
07 апреля 2014, 11:00
modx.pro
40
16 892
+11

красивые урлы для брендов в категориях

добрый день, появилось желание сделать красивые ссылки для брендов в разделах, т.е. сейчас все это выглядит так
site.ru/catalog/razdel/?ms|vendor=3
что не очень красиво и для пресловутого seo не айс)
хочется получить ссылки вида
site.ru/catalog/razdel/brand/sony/
что позволит создавать странички разделов с товарами брендов типа «Ноутбуки sony», понятно что в идеале нужно еще и title причесать, но хотя бы разобраться с чпу и ссылками.

кто-то уже решал подобную задачу?
Ilya Ev
26 марта 2014, 19:07
modx.pro
4
3 804
0

Цена в рублях по курсу доллара в miniShop2

Как выводить в miniShop2 сумму товара в рублях, если цена указана в долларах? Есть плагин парсера курса валют.
Stan
03 марта 2014, 10:27
modx.pro
24
8 110
0

Сортировка в каталоге minishop2 и вывод товаров.

Добрый день.
Ребята подскажите кто как решал данный вопрос?
Требуется вывести главный каталог всех товаров, подобно их расположению в дереве MODX.
Володя
28 февраля 2014, 08:58
modx.pro
6
7 987
0

[РЕШЕНО] Авторизация во все поддомены

Переключение контекстов сделано. Необходимо реализовать авторизацию сразу во все контексты из любого текущего. Цену и вопросы в личку.
MrKarandash
30 сентября 2013, 19:01
modx.pro
5
5 184
0

Вывод производителей на отдельной странице

Как вывести всех производителей на отдельной странице?

Так я вывожу всех производителей у товаров. Вернее товар и его производителя.
А как отдельно вывести производителя. Т.е. по типу брендов товаров.
У каждого бренда есть свои товары а как сделать страницу с брендами что бы ссылка вела на фильтр?

На странице брендов есть вызов:
[[!getPage? 
    &element=`msProducts` 
    &tpl=`tpl.msProducts.brands.row` 
    &parents=`0` 
    &sortby=`Data.vendor` 
    &sortdir=`ASC` 
    &limit=`50` 
    &showLog=`0` 
]]
А в tpl.msProducts.brands.row
<h3 class="tname">[[+vendor.name]]</h3>
<img src="[[+vendor.logo]]" ></div>
Саша Иващенко
14 июня 2013, 01:25
modx.pro
8
6 040
0

Открытие внешних ссылок в новом окне

Не знаю, кому как, а лично мне очень не нравится, когда при клике на ссылку в тексте статьи меня переслыают на другой сайт. Я же еще не дочитал!

Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.

Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Василий Наумкин
04 декабря 2012, 07:13
modx.pro
10
8 642
0

Обновление\бэкап MODX на сервере без FTP

Возникла необходимость обновить Revolution на сервере с медленным FTP. Копирование мне радостно показывало, что 4500 файлов будет заливаться около 7ми часов, и я решил как-то ускорить процесс.
Суть метода сводится к одному предложению: Распаковка zip архива прямо на сервере с помощью php.

Для работы с архивами в комплекте с Revo идет библиотека pclzip.lib.php — смело используем ее.
Василий Наумкин
18 июня 2012, 14:08
modx.pro
6
5 117
0