Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4

Minishop2 и Vendor

Добрый день!
Стоит такая задача. Нужно в скрипте проверить, есть ли такой производитель, и если нет, то создать его и вернуть id. С использованием таблицы производителей. Подскажите, пожалуйста, как реализовать.
Александр Суркин
09 июня 2014, 07:47
modx.pro
4
4 200
0

Глючит пересчет стоимости доставки Minishop2

Была нужна дополнительная валидация при отправке заказа.
Условия:
1. Введен город «Челябинск» или «Копейск» — доступны все виды доставки;
2. Введен любой другой город кроме «Челябинск» и «Копейск» — доступен только способ доставки «Почтой» delivery_2

Накидал такой код на JQuery все номально работает, но стал глючить пересчет стоимости доставки:
Игорь Терентьев
05 июня 2014, 04:21
modx.pro
2
1 621
+1

Переход на оплату мимо корзины

Здравствуйте.

Подскажите пожалуйста.

Обычно работал с shopkeeper, тут решил попробовать minishop

Возможно ли в minishop сделать такое:

На странице товара есть кнопка «Купить», при нажатии на которую человек перейдет не в корзину, а сразу на страницу оплаты дополнения mspRobokassa
При этом сам заказ формируется и сохраняется.

В SHK такого не удается достичь, может у minishop лучше с этим делом?
Alex
03 июня 2014, 18:50
modx.pro
4
1 854
+1

Шифрование ссылки в TV-параметре

Приветствую.
Есть задача: у меня на сайте с MODx Revo есть TV-параметр offsite, в который я прописываю адрес какого-либо сайта, например,
http://offsite.ru
Мне необходимо эту ссылку зашифровать и превратить во внутренний редирект, чтобы вместо адреса сайта показывался
http://mysite.ru/goto/948f3hdc8d4k9fjf
или типа того.

Шаблон вывода
<a href="[[*offsite]]" target="_blank" onclick="yaCounter.reachGoal('regOffic'); return true;">[[*offsite]]</a>
Нужно получить на выходе:
<a href="http://mysite.ru/goto/948f3hdc8d4k9fjf" target="_blank" onclick="yaCounter.reachGoal('regOffic'); return true;">http://offsite.ru</a>
Плагин нашел только для Evo и то заброшенный судя по всему.

Готов оплатить работу или купить готовое решение, ибо обыскался.
Demios
28 мая 2014, 04:09
modx.pro
1
1 602
0

Фильтрация по выпадающему списку для mFilter2

Может кому-то пригодится небольшое решение с подключением Bootstrap-select

Пример рабочего select с поиском без правки скрипта, благодаря label:
Руслан Киямов
29 апреля 2014, 14:30
modx.pro
24
6 866
+8

Отправляем заголовки Last-Modified и Not Modified

Написал небольшой плагинчик для отправки браузеру заголовка Last-Modified и, если браузер спросит If modified since — ответа 304 Not Modified
Илья Уткин
29 апреля 2014, 13:49
modx.pro
20
14 725
+3

Выгрузка файла из компонента

Почти дописал компонент на основе modExtra, который собственно взял с данного сайта, компонент не сильно наварочаный функционалом, главное его действией это простой сбор телефонных номеров. Так вот такая загвоздка, сделал выгрузку данных в csv файл, все работает без проблем, файл сохроняется в папке assets/components/modextra (пока еще не понял почему именно здесь), но вот как его сохранить на комп, что бы заказчик не лазил по папкам сайта и не искал этот файл.

Так наполняю файл инфой:
// $dataArr - массив данных из БД
$implode = implode(" ", $dataArr);

$str = iconv("UTF-8", "WINDOWS-1251",  $implode);
$file = fopen("demo.csv","w");
fwrite($file," ".$str);
fclose($file);

Пробывал сделать выгрузку таким методом, но как то без успешно
header ("Content-Type: application/octet-stream");
header ("Accept-Ranges: bytes");
header ("Content-Length: ".filesize($file));
header ("Content-Disposition: attachment; filename=".$file);  
readfile($file);
Подскажите пожалуйста, как правильно это сделать в компоненте, как я понимаю на данный файл «процессор» идет ajax запрос от ExtJS, может это как то влияет, или может надо как то пути прописать правильно.
Константин
27 апреля 2014, 14:16
modx.pro
2
1 164
0

Вывод RSS сайта через pdoResources

Честно говоря, я не очень люблю всякие рассылки и подписки, мне больше нравится использовать RSS.

RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами или онлайн-сервисами.

Им очень удобно пользоваться — нужно просто зайти скопировать ссылку и вставить её в свой агрегатор новостей, например www.inoreader.com.
Для пущего удобства можно еще установить расширение для Chrome, чтобы вас регулярно уведомляли о свежих записях.

А теперь давайте посмотрим, как можно генерировать RSS с помощью pdoResources.
Василий Наумкин
24 апреля 2014, 07:18
modx.pro
23
7 732
+3

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

Небольшая пошаговая инструкция, как научиться сохранять любые интересующие данные о юзере в специальное поле 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 900
+11

Вывод суммы прописью

Специально по просьбе Wassi Wassinen достал из нафталина, отряхнул пыль и публикую свой класс вывода сумм прописью, который основан на вот этих методах.

В оригинальной версии копейки писались цифрами, а теперь — буквами. Ради этого пришлось переписать больше половины кода.
Василий Наумкин
30 марта 2014, 11:19
modx.pro
6
3 427
+5