epic

epic

С нами с 16 марта 2024; Место в рейтинге пользователей: #9541

[UserLocation] - Геолокация и выбор города пользователя

Компонент [UserLocation] позволяет определить локацию пользователя и вывести список доступных локаций.



Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.

Володя
22 октября 2019, 09:01
modx.pro
1
3 400
+7

Как определить поддомен в Robots.txt?

Есть задачка
Сделал сайт с поддоменами (региональными)
Прикрутил при помощи создания ресурсов sitemap.xml и robots.txt

Теперь ломаю голову, как скрыть в файле robots.txt страницы блога на всех поддоменах а на основном оставить.

Для реализации поддоменов использовал компонент cityFields
Буду очень благодарен за помощь!
Андрей
27 июня 2019, 09:23
modx.pro
1
1 085
0

Автоматическое создание артикула для miniShop2 (с проверкой на уникальность)

Три года назад этот вопрос поднимался вот здесь.
В результате есть работающий код:
<?php
if ( $modx->event->name != "OnDocFormSave" || $resource->get('class_key') != 'msProduct' || !empty($resource->get('article')) ) return;
$resource->set('article', substr($resource->get('alias'),0,2).'-'.$resource->get('parent').$resource->get('id'));
$resource->save();
$resource->clearCache();
Артикулы получаются типа: pl-38125
Также есть вариант для TV генерирующий артикулы в числовом виде.
<?php
if ($modx->event->name == "OnDocFormSave") 
{    
    $tv = 'articul';
    $id = $resource->get('id');
    $parent = $resource->get('parent');
    $tvv = $resource->getTVValue($tv);
    
    if (empty($tvv))
    {
	   switch ($str=strlen($parent.$id))
       {
         case ($str <= 4): $article = mt_rand(0, 9).mt_rand(0, 9).$parent.$id; break;     
         case ($str == 5): $article = mt_rand(0, 9).$parent.$id; break;   
         case ($str == 6): $article = $parent.$id; break;
         case ($str >= 7): $article = substr($parent.$id, 1); break;
       }		
               $resource->setTVValue($tv, $article);
    }
}
Просьба специалистам в PHP модифицировать первый код так, чтобы в miniShop2 можно было создавать артикулы в цифровом виде.
Ну а если этот плагин будет ещё проверять на уникальность артикула, ему вообще цены не будет ))

РЕШЕНИЕ (чтобы не копаться в комментах).
Артикулы получаются уникальные типа: 38125 — ID категории и товара
<?php
if ( $modx->event->name != "OnDocFormSave" || $resource->get('class_key') != 'msProduct' || !empty($resource->get('article')) ) return;
$resource->set('article', $resource->get('parent').$resource->get('id'));
$resource->save();
$resource->clearCache();
Также есть вариант артикула формата: Случайное число от 0 до 999-IDродитель-IDтовара
<?php
if ( $modx->event->name != "OnDocFormSave" || $resource->get('class_key') != 'msProduct' || !empty($resource->get('article')) ) return;

// Создаем артикул формата Случайное число от 0 до 999-IDродитель-IDтовара
$resource->set('article', mt_rand(0, 999).$resource->get('parent').$resource->get('id'));
$resource->save();
$resource->clearCache();
Благодарность iWatchYouFromAfar и Николай приветствуется ))
websfera
04 мая 2019, 11:44
modx.pro
2
1 345
-2

Медленная загрузка страниц

Здравствуйте.
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
Ильяс
23 марта 2019, 23:16
modx.pro
1
1 587
+1

[mFilter2] Вывод товаров со смежными значениями

Небольшая заготовка из вчерашнего рукоделия.

Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):


Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.

Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.

В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.

Наумов Алексей
26 февраля 2019, 10:29
modx.pro
16
1 484
+10

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

Добрый день!
Есть верхнее меню на сайте:
atmjet.ru/jets/
У меня там выводится меню с дочерними страницами Услуг, все работает ок:
<nav class="top-menu xs-hidden">
        [[pdoMenu?
            &parents=`0`
            &level=`2`
            &tplOuter=`@INLINE <ul>[[+wrapper]]</ul>`
            &tpl=`@INLINE <li[[+classes]]><a href="[[++base_url]][[+link]]" [[+attributes]]>[[+longtitle]]</a></li>`
            &tplParentRow=`@INLINE <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="[[++base_url]][[+link]]" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">[[+longtitle]]<span class="caret"></span></a>[[+wrapper]]</li>`
        	&tplInner=`@INLINE <ul class="dropdown-menu">[[+wrapper]]</ul>` 
            &tplInnerRow=`@INLINE <li><a href="[[++base_url]][[+link]]" class="dropdown-item">[[+introtext]]</a></li>`
        ]]
    </nav>
Но мне нужно в выпадающем списке, где Услуги, вывести еще три определенных страницы, которые НЕ являются дочерними к услугам. Как это можно сделать?
Виноградов Тимур
08 января 2019, 14:22
modx.pro
1
1 167
0

Автоматический вывод всех свойств категории в mFilter2

Небольшой сниппет обёртка для mFilter2 который автоматически выводит все свойства с возможностью исключать определенные.

Как пользоваться:


  1. Создаем сниппет, называем его, например: mFilter3
  2. Создаем категорию (папку, чтобы не было путаницы), называем его, например: Не участвует в фильтрации, запоминаем его ID
  3. Помещаем все свойства которые не должны участвовать в фильтрации в данную категорию
Баха Волков
14 декабря 2018, 15:13
modx.pro
14
1 538
+9

[Решено] В конфигурации MIGX один migx тянет для себя значения другого migx-а как можно сделать?

Доброго времени суток.
Бьюсь который час на решением одной головоломки.

Мне нужно настроить конфигурацию migx поля так, чтобы список возможных значений был из другого соседнего migx поля, состоящего из одного столбика заголовков. Все это в одном документе.

Пробовал через EVAL и тащить getImageList-ом, но что-то не получилось…

Может, кто-нибудь предложит еще какие варианты пока я дальше рою землю/стену носом?
Oleg
09 октября 2018, 15:09
modx.pro
1
778
0

Вывести опции по категориям

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

Пытаюсь сделать универсальный вариант для интернет-магазина, где будут категории смартфоны, аксессуары, ноутбуки, планшеты и т.д

У всех категорий свои опции, но для клиента хочется сделать вывод более понятным и удобным. Пример:



То есть, основные характеристики, процессор, дисплей и т.д, а под ними уже выводить необходимые опции.

Во всех категориях названия опций и сами опции будут отличаться, не хочется делать для каждой категории свой шаблон, т.к это долго и сложно в управлении в дальнейшем.

Подскажите, есть ли какие-то способы реализации?

Использую: minishop2, mSearch2.
Ivan
06 сентября 2018, 15:37
modx.pro
2
1 316
0

[changeDomain] - определение поддоменов

Всем привет. Делаю не большой заказ, где необходима была работа с множеством поддоменов. Необходимы были какие то фиксированные поля для каждого, ну и я решил еще от себя добавить возможность добавления неограниченного количества опций к каждому поддомену.
Михаил
22 октября 2017, 04:16
modx.pro
20
4 315
+20