Дмитрий

Дмитрий

С нами с 16 декабря 2015; Место в рейтинге пользователей: #47
Дмитрий
30 июня 2018, 13:51
0
mFilter2 — очень мощный и умный компонент. Если вам приходится городить какие-то костыли поверх него, то 100% вы что-то делаете неправильно. Либо структура проекта выбрана не верно, либо вы не знаете возможностей компонента, либо еще что.
Поэтому
Подскажите пожалуйста что тут можно сделать, заранее благодарю за внимание и ответ.
Совет — пересмотрите всю логику проекта и сделайте по-нормальному
Дмитрий
29 июня 2018, 16:37
0
Ну или в map-файле это задать, либо напрямую в БД задать значение по-умолчанию у поля…
Дмитрий
27 июня 2018, 16:42
0
Да, поддержка 100% поможет перенести ключи. Я как-то закупился на 7К модулями, но заказчики даже не запустили магазин, не поделили бизнес. Я в течение года раскидал дополнения при помощи поддержки по другим сайтам без проблем.
Дмитрий
26 июня 2018, 01:12
0
ну да, а еще можно было не городить этот бредовый вызов и сделать по-нормальному :)
Условие выглядит через чур сложно.
Вариантов решения как минимум три
1) Заменить вот это вот всё на mFilter2 и всё было бы очень круто
2) Написать сниппет-обёртку над pdoResources, который сначала обрабатывает GET параметры и потом подставляет их в параметр Where
3) Переписать всё вот это на Fenom с использованием переменных и это стало бы точно более читаемым и понятным.
Дмитрий
22 июня 2018, 13:08
0
Это дешёво. 750 евро это копейки за хороший магазин. Правда, кто знает, какого качества он окажется в итоге
Дмитрий
22 июня 2018, 12:07
+1
в заказ они попадают как «Заказной товар» с данными от поставщика: цена, артикул и т.д.
А вот это кстати неплохая идея, буду знать на будущее.
Дмитрий
22 июня 2018, 00:14
+2
Сложно ответить что лучше, не пытаясь нахваливать какой-нибудь один из модулей.
На этом ресурсе 99% пользователей юзают Минишоп и поэтому какой-то существенной критики, которая бы превознесла бы шопкипер, вы тут вряд ли увидите.
Достоинство минишопа как минимум в двух вещах — pdoTools и огромное количество дополнений почти под любые задачи. pdoTools позволит делать множество крутых штук, и если всё делать правильно, то и работать это будет очень быстро. Шопкипер работает как обычный модуль для MODX, со своими особенностями, поэтому с ним, вроде как, особо не поиграешься без серьезного погружения.
Но это и не так важно, как важно количество товаров и задание к магазину. 7000 товаров с опциями, фотками и всем остальным — достаточно весомая нагрузка на фильтр товаров и поиск. А если еще собираетесь подключать поставщиков, чтобы загружать десятки тысяч запчастей, то это вообще будет финиш. Я как-то столкнулся с магазином запчастей, куда как обычные ресурсы загрузили около 150 000 запчастей, и сайт работал очень медленно. И это уже неоднократно обсуждалось на этом ресурсе, что если нужно делать прям магазин-магазинище с десятками тысяч товаров, то придется кастомизировать модель товаров так, чтобы это были не ресурсы MODX, а другие сущности, т.к. на ресурсах это всё дело быстро загнется. Поэтому, если у вас нет серьезного бюджета или знаний на существенные переработки кода, то стоит выбрать другую систему для подобного. Пытаться за копейки построить космодром — не очень хорошая идея :)
Дмитрий
19 июня 2018, 22:39
0
хотя, с другой стороны, я в своём учёл возможность задавать поле остатков как полем ресурса, опцией товара, кастомным полем ms2 и ТВ-шкой, а так же два режима остатков — количество и просто текст «В наличии / Нет в наличии». Может, допилю к концу следующего месяца до stable и выкачу…
Дмитрий
19 июня 2018, 22:36
0
Купил я значит прошлый компонент в декабре прошлого года. Он оказался не рабочим. Мне за него вернули деньги, ок. Но проект надо делать. Написал свой компонент, учёл кучу всяких штук, сделал компонент достаточно неплохим. Проект еще не запустили, т.к. большой, а появилась новая версия компонента. Месяц работы коту под хвост. Эх, вот это разочарование)))
Дмитрий
12 июня 2018, 18:17
+2
Fix map-file, try to replace this:
'phptype' => 'string',
with
, 'phptype' => 'json'
it's work for me.
Дмитрий
10 июня 2018, 16:43
0
да не, не раньше, чем через 2 недели нужно будет)
Дмитрий
10 июня 2018, 16:00
+1
Скоро придется отправить 4000 писем пользователям сайта, который переношу с WP, и как раз об этом думал, как же решить это. Большое спасибо за компонентище!
Дмитрий
04 июня 2018, 17:58
+2
1) Неплохой у вас сайт, я про ultron.pro. Много контента, шаблоны вроде неплохие, сборки прикольные. Круто!
2) Что под капотом? Обычные чанки и стопицот шаблонов или fenom? Файловые элементы или всё в базе?
Дмитрий
16 мая 2018, 13:24
+1
Это просто как-то вот не очень работает, поэтому лучше перестраховаться
Дмитрий
16 мая 2018, 12:18
+1
Продолжайте в том же духе и через полгода цены вам не будет))
Дмитрий
16 мая 2018, 11:08
0
Нет, не обязательно так должно быть. Надо ковыряться, пробовать… У меня несколько сайтов на Localizator'е работают, нормально вполне себе, и ссылки и всё остальное.
Дмитрий
16 мая 2018, 10:53
0
А поля… Ну есть вариант делать автоперевод через функционал Яндекс.Переводчика, заложенного в локализатор.
Или можно делать все поля MIGX, да. Я так делал:
{if ('localizator_key'|option)!='ru'}
    {var $key = ('localizator_key'|option)~'_'}
{/if}
<div class="container">
    <div class="row">
        {var $principles = $_modx->resource.principles|fromJSON}
        {foreach $principles as $p}
            <div class="col-xs-12 col-md-4">
                <h3>--{$key~'title'}--</h3>
                <h2>{$p[$key~'title']}</h2>
                <p>{$p[$key~'text']}</p>
            </div>
        {/foreach}
    </div>
</div>
Только у меня каждое поле MIGX было en_field и ru_field например
Дмитрий
16 мая 2018, 10:51
0
С этим не могу сейчас помочь, надо разбираться, вспоминать, извините
Дмитрий
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>
И будет вам счастье.