Дмитрий

Дмитрий

С нами с 16 декабря 2015; Место в рейтинге пользователей: #47
Дмитрий
16 мая 2018, 10:36
+1
Вообще, изначально советую внимательно документацию по Localizator почитать, там полно всяких хитрых штук.
А касаемо вопроса ниже.
Функционал вывода меню с языками можно сделать гораздо проще, и даже без сниппета.
//Делаем массив на Fenom типа такого: 
{var $langs = [
	'en' => [
		'img' => 'assets/templates/UZVALVE/img/en_flag.jpeg',
		'alt' => 'alt text',
		'some properties' => 'some properties 1'
	],
	'ru' => [
		'img' => 'assets/templates/UZVALVE/img/ru_flag.jpeg'
	]
]}
//Далее просто подставляем значение из текущей опции
{var $lang = ('localizator_key' | option)}
<li>
<a href=""><img src="{$langs[$lang['img']]}" alt="{$langs[$lang['alt']]}"></a></li>
Ну или типа того. Гораздо понятнее, проще, и универсальнее.
А касательно темы, как сделать собственный генератор ссылок. Вообще с помощью PDOTools Localizator очень неплохо генерит URL, вы, видимо, не разобрались с компонентом до конца.

Ну а если нужно прям делать URL на определенные страницы, то могу посоветовать сделать плагин на событие pdoToolsOnFenomInit с таким кодом:
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
        /** @var Fenom $fenom
          Мы получаем переменную $fenom при его первой инициализации и можем вызывать его методы.
          Например, добавим модификатор вывода имени домена сайта из произвольной ссылки.
         */
        $fenom->addModifier('locUrl', function ($input) use ($modx) {
            if ($modx->localizator_key != 'ru') {
                $output = $modx->localizator_key.'/'.$modx->makeUrl($input);
            } else {
                $output = $modx->makeUrl($input);
            }
            return strtolower($output);
        });
        break;
}
Где RU — это ваш основной язык. Можно еще удобнее сделать и лучше, но я это так, для примера.
А вызывать это так:
<a href="/{'5'|locUrl}">Magazin</a>
И будет вам счастье.
Дмитрий
14 мая 2018, 14:44
0
В системных настройках minishop2 есть параметр изображения по-умолчанию. Посмотрите там.
Дмитрий
11 мая 2018, 14:14
0
Спасибо! Получилось!
Дмитрий
10 мая 2018, 16:04
+7
То, чего не хватало всем многие годы. Спасибо!
Дмитрий
10 мая 2018, 12:17
0
1) Можно опции, можно свойства. Свойства сложнее подключить и настроить, но работают они быстрее. Свойства нельзя привязать к определенной категории товаров, они видны всегда. В свойства можно вынести общие для всех товаров параметры, как цена в другой валюте, например.
2) Ну, тут надо купить mFilter2 и допустим сделать TV-поле у каждой категории, где задавать какие именно опции искать. С другой стороны, можно задать вообще все опции в фильтр, и если в выбранной категории нет ни одного товара с таким свойством, то это свойство просто не будет выводится. Изи.
3) Есть два модуля в Modstore — CurrencyRate и CurrencyCalc. Тут нужно выбрать, какой более подходит и использовать. Я везде использую первый, его возможностей хватает.
4) Можно и связанными товарами сделать. А можно в Modstore посмотреть еще разные модули и там полно всякого для таких задач.
В общем, советую в следующий раз сначала посмотреть все возможные пакеты в Modstore, и я уверен, часть вопросов отпадёт. К тому же каждое дополнение перед покупкой можно пощупать на хостинге бесплатно
Дмитрий
08 мая 2018, 13:24
0
скиньте доступы в личку, погляжу)
Дмитрий
08 мая 2018, 12:11
0
Код 100% правильный. Ошибка в запросе.
$_modx->getPlaceholder('vendor.resource')
эта переменная что содержит? Она что-нибудь печатает вообще?
{$_modx->getPlaceholder('vendor.resource')|var_dump}
сделайте так и посмотрите, что выводится.
Дмитрий
08 мая 2018, 10:18
0
{var $dostavkainfo = 'pdoField' | snippet : [
	                'id' => $_modx->getPlaceholder('vendor.resource'),
	                'field' => 'vendor-dostavka',
	            ]}
{$dostavkainfo | truncate : 100}
Дмитрий
08 мая 2018, 10:17
+1
Попробуйте слэш в конце пути поставить — assets/images/custom/
Дмитрий
04 мая 2018, 00:03
0
Да, вместо GetImageList
Дмитрий
03 мая 2018, 21:37
0
Вообще, если не нужно использовать параметр &where, то лучше использовать синтаксис Fenom для работы с MIGX, это получается быстрее и читается лучше. И можно лаконично использовать условия:

//Парсим TV как JSON 
{var $reviews = 1 | resource: 'main_page_review' | fromJSON}
//Перебираем все элементы массива
{foreach $reviews as $item}
	// доп. условия
	{if $item.image?}
	//выводим картинку
	{else}
	//не выводим картинку
	{/if}
{/foreach}
Ну и всякое такое. Вариантов масса.
Дмитрий
01 мая 2018, 16:36
0
Передать в сниппет параметр, который он не поддерживает, и надеяться, что параметр сработает, хм…
Если хотите закинуть свои параметры в сниппет на основе PDOTools, то нужно использовать параметр PrepareSnippet. Вот тут и тут подробнее о том, как с этим работать
Дмитрий
27 апреля 2018, 12:46
0
Ну, либо ковыряться в чанках и искать где что происходит, либо задать вопрос в тех.поддержку модуля. Если вы его покупали, то вам помогут. А если нет — ай ай ай.
Дмитрий
26 апреля 2018, 23:41
0
Лучше не заморачиваться с костылями, а купить вот этот компонент.
Ну а если хочется заморочится, то нужно как-то придумать, как посылать новую цену в плагин на добавление товара, менять ее, и всё такое. Это возможно, но времени убьёте гораздо больше, чем если бы просто купили компонент.
Дмитрий
25 апреля 2018, 00:13
+1
Ольга, вы преподаете английский.
Люди здесь, по большей части, программируют. И вряд ли программисты будут учить кого-то английскому с профессиональным подходом, и точно так же наоборот — вы без полного погружения в тему не сможете сделать хороший продающий дизайн сайта (сорян за мою грамотность и пунктуацию, я ведь не лингвист :) ). Так вот. Действительно, лучшим решением для вас будет заказать дизайн у профессионалов.
Если хотите, я могу помочь с этим. У меня есть профессиональный дизайнер, который будет рад за небольшие деньги (его час работы в два раза дешевле, чем занятие у вас), сделать вам хороший дизайн-макет. А дальше вы решите — верстать его самостоятельно, либо отдать опять же, профи. Пытаться усидеть на всех стульях сразу — практика сомнительная. Профессионалы занимаются одним делом, но делают это хорошо.
Дмитрий
23 апреля 2018, 01:48
0
Я не Василий, но всё же попробую.
Нужно сделать чанк не инлайновым, а обычным, и смотреть, что получается. Такая ошибка обычно говорит об ошибке парсинга шаблонизатора, то есть где-то синтаксис некорректный
Дмитрий
20 апреля 2018, 20:05
0
Его можно использовать как хук для FormIt, передавая в него amount['value']. Почитайте, поищите примеры создания хуков для FormIt и попробуйте. На первый взгляд выглядит довольно просто