Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
06 декабря 2015, 17:33
0
modstore.pro/cabinet/tickets/
скиньте доступы к админке, посмотрю что можно сделать.
Володя
06 декабря 2015, 17:27
0
Привет, напиши в поддержке. Спасибо!
Володя
06 декабря 2015, 10:01
0
привет. Попробуй выключить/ включить обработчки в настройках VirtualPage.
Володя
03 декабря 2015, 16:25
0
у них написано что
Комиссия от 2 до 3,5 % в зависимости от оборота и типа вашего бизнеса
все индивидуально… Вам лучше связаться напрямую с ними t.tinkoff.ru/#application
Володя
03 декабря 2015, 16:07
2
+1
да все нормально работает.
Ток что попробовал.

t1.vgrish.ru/img/img.php?text=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82!,%20%D1%8F%20%D0%BD%D0%B0%D0%B4%D0%BF%D0%B8%D1%81%D1%8C%20%D0%BD%D0%B0%20%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B5%20%20))))
<?php
define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)) . '/core/config/config.inc.php';
require_once MODX_BASE_PATH . 'index.php';
if (empty($_GET['text'])) {
	die('введите текст');
}
$opts = [
	'background' => MODX_ASSETS_PATH . 'img/background.jpg',
	'font' => MODX_BASE_PATH . 'img/arial.ttf',
	'save' => MODX_ASSETS_PATH . 'img/g/',
	'size' => 30,
	'top' => 200,
	'left' => 200,
	'text' => $_GET['text']
];
$path = $opts['save'] . sha1($opts['text']) . '.jpg';
if (!file_exists($path)) {
	$img = imagecreatefromjpeg($opts['background']);
	$color = imagecolorallocate($img, 250, 0, 0);
	/* выводим текст на изображение */
	imagettftext(
		$img,
		$opts['size'],
		0,
		$opts['left'],
		$opts['top'],
		$color,
		$opts['font'],
		$opts['text']
	);
	imagejpeg($img, $path, 100);
	imagedestroy($img);
}
echo '<img src="' . str_replace(MODX_BASE_PATH, MODX_BASE_URL, $path) . '">';
gist.github.com/vgrish/5212d75feea58e96b08b
Володя
03 декабря 2015, 14:03
0
указывайте полный путь до изображения и до файла шрифта
$im = imagecreatefromjpeg(MODX_BASE_PATH.'assets/testCert.jpg');
и тд
Володя
03 декабря 2015, 13:08
0
напишите сниппет, который будет накладывать текст на картинку и сохранять ее где вам надо.
можно использовать imagettftext
Володя
03 декабря 2015, 12:04
+1
Добрый день.
Добавил политику доступа msOptionsPrice2ManagerPolicy. Обновите компонент и добавьте ее нужной группе пользователей.
Володя
02 декабря 2015, 15:13
+2
Спасибище за баллы, очень кстати! Хороший хостинг всегда востребован.
Володя
28 ноября 2015, 11:42
+2
github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/schema/minishop2.mysql.schema.xml#L23

$q->leftJoin('msProductData','msProductData','msProduct.id = msProductData.id');
$q->leftJoin('msVendor','msVendor','msProductData.vendor = msVendor.id');
Володя
27 ноября 2015, 12:18
+1
разбирайтесь.
пример плагина с подобным функционалом gist.github.com/vgrish/e89d4ad2b708bafeae3b
<?php

switch ($modx->event->name) {
	case 'OnWebPageInit':
		$isAjax = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) AND $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
		if (empty($_REQUEST['magic_action'])) {
			return;
		}
		$ctx = !empty($_REQUEST['ctx']) ? (string)$_REQUEST['ctx'] : 'web';
		if ($ctx != 'web') {
			$modx->switchContext($ctx);
		}
		/* @var miniShop2 $miniShop2 */
		$miniShop2 = $modx->getService('minishop2');
		$miniShop2->initialize($ctx, array('json_response' => $isAjax));
		if (!($miniShop2 instanceof miniShop2)) {
			@session_write_close();
			exit('Could not initialize miniShop2');
		}
		$cart = $miniShop2->cart;
		$order = $miniShop2->order;
		foreach ($_POST as $field => $value) {
			$value = $order->validate($field, $value);
			if (empty($value) OR (!$value)) {
				$response = $miniShop2->error('Вы должны заполнить требуемые поля', array($field => $value));
				@session_write_close();
		    exit($response);
			}
			$comment .= $field.": ".$value."\r\n";
			$properties[$field] = $value;
		}
		// set
		$id = $_POST['id'];
		$receiver = $_POST['receiver'];
		$email = $_POST['email'];
		$class = $_POST['class'];
		$count = $_POST['count'];
		if (!$modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
			$response = $miniShop2->error('Данный билет нельзя приобрести!');
			@session_write_close();
		  exit($response);
		}
		// cart
		$cart->clean();
		$cart->add($id, $count, array(
			'receiver' => $receiver,
			'class' => $class,
		));
		$status = $cart->status();
		if (empty($status['total_count'])) {
			$response = $miniShop2->error('Ошибка инициализации покупки!');
			@session_write_close();
		  exit($response);
		}
		// order
		$order->clean();
		$order->set(array(
				'email' => $email,
				'receiver' => $receiver,
				'phone' => '',
				'delivery' => 1,
				'payment' => 3, // msMerchant
				'index' => ' ',
				'address' => ' ',
				'comment' => $comment,
				'properties' => $modx->toJSON($properties)
			)
		);
		$response = $miniShop2->order->submit(array(
			''
		));

		@session_write_close();
		exit($response);

		break;
}
Володя
27 ноября 2015, 12:08
0
Ставите MiniShop2, ставите mspWebpay.
Создаете свою форму покупки и плагин например на OnWebPageInit. В плагине ловите $_POST
инициализируете MiniShop2 и создаете заказ. Затем берете ссылку на оплату и отдаете пользователю.
На сайте будет выглядеть все прозрачно и без корзины — то что вам нужно, плюс вы практически ничего не модифицируете и пользуете стандартные компоненты и не теряете возможность обновления.
Володя
27 ноября 2015, 12:02
0
Добрый день.
modstore.pro/search?query=currencyrate

ps. возможно у вас старая версия MODX?
Володя
26 ноября 2015, 17:24
0
перейти можно. Установщик просто проверяет есть ли системные настройки что были раньше, если они есть — то выдает ошибку.
То есть чтобы накатить обновление нужно удалить системные настройки пакета msFavorites и все.
Но и потом заново указать вызовы сниппетов и если у вас были внесены правки в js то привести его к новому виду. Для того чтобы кто то случайно этого не сделал и включена защита.
Володя
17 ноября 2015, 15:24
0
а так правильно, у вас опции в другой таблице лежат… Значит нужно подправить нужную таблицу github.com/vgrish/currencyrate/blob/master/core/components/currencyrate/processors/mgr/valute/updateprices.class.php#L31
Володя
11 ноября 2015, 19:31
0
откройте сниппет cityselect, там в конце закомментирован формат ответа от SxGeo.
/ * Array
(
    [city] => Array
        (
            [id] => 524901
            [lat] => 55.75222
            [lon] => 37.61556
            [name_ru] => Москва
            [name_en] => Moscow
        )

    [region] => Array
        (
            [id] => 524894
            [name_ru] => Москва
            [name_en] => Moskva
            [iso] => RU-MOW
        )

    [country] => Array
        (
            [id] => 185
            [iso] => RU
            [continent] => EU
            [lat] => 60
            [lon] => 100
            [name_ru] => Россия
            [name_en] => Russia
        )

)
 */
возьмите нужную переменную массива и используйте. Можно выставить в плейсходер на странице, например
$modx->setPlaceholder('iso', $Sx_arr['country']['iso']);