epic
С нами с 16 марта 2024; Место в рейтинге пользователей: #994Большой интернет магазина на MiniShop2
Привет, сразу скажу, ни разу не программистка, по этому вопрос может показаться простым, но все же нужно предварительно узнать, что бы не собрать все возможные проблемы. Подскажите пожалуйста кто имел опыт работы с большими магазинами. Хочу перенести магазин на ms2, накупить компонентов… и появилось несколько вопросов.
В магазине около 30к товаров, у товаров в каталоге, в сумме, более 100 атрибутов (помимо стандартных свойств: цвет, размер, вес, цена...) в общем, то есть у каждого примерно 10-20 разных дополнительных атрибутов.
В магазине около 30к товаров, у товаров в каталоге, в сумме, более 100 атрибутов (помимо стандартных свойств: цвет, размер, вес, цена...) в общем, то есть у каждого примерно 10-20 разных дополнительных атрибутов.
Генерация файла sitemap.xml для мультиязычного сайта
Многие из нас делают мультиязычные сайты на контекстах. Контексты в MODx — вообще очень крутая штука, наверное, одна из самых крутых. На текущем большом мультиязычном проекте, SEO оптимизатор скинул мне статью в гугле и сказал, что нужно оптимизировать сайт под неё. Вопрос по теме задавали аж два года назад и ответов не последовало. Но народ вроде дал мотивацию тратить время на статью…
Ошибка с msFieldsManager [Решено]
Добрый день.
Когда захожу в раздел список полей, то там нет не единого поля joxi.ru/zANJvYgT6x4NDA но полей там должно быть куча.
В логах только одна ошибка:
В БД пошарил, но что-то не смог найти и совсем не помню, что бы создавал поле «unit»
В ТП обратится не могу, ругается:
Когда захожу в раздел список полей, то там нет не единого поля joxi.ru/zANJvYgT6x4NDA но полей там должно быть куча.
В логах только одна ошибка:
[2020-02-28 07:30:21] (ERROR @ /home/c/cn71901/site.ru/public_html/core/xpdo/om/xpdoobject.class.php : 240) Error 42S22 executing statement:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'MsfmFields.unit' in 'field list'
)Помоги пожалуйста, как исправить. Если я правильно понял, то в БД есть/появилась кривая запись (может менеджеры какое наименование занесли с кавычками или еще как).В БД пошарил, но что-то не смог найти и совсем не помню, что бы создавал поле «unit»
В ТП обратится не могу, ругается:
Вы купили это дополнение 13.02.2018 и с тех пор прошло уже больше года. Сожалеем, но вы больше не можете обращаться за поддержкой по этой покупке.Буду благодарен за помощь, спасибо.
[multiSite] - Мультисайт на MODX
Привет! Компонент реализует собственно мультисайт на modx. Что он делает по факту? В зависимости от города он ищет во всей странице ключи в соответствии вашего паттерна и заменяет их на содержимое конкретно этого города.


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

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

Особенности
— определение локации пользователя по ip
— готовая база городов и регионов России, возможность импорта/ экспорта своих локаций
— в отличие от CitySelect оперирует локациями созданными в базе данных. Позволяет добавить/ изменить нужную локацию под себя.
Как определить поддомен в Robots.txt?
Есть задачка
Сделал сайт с поддоменами (региональными)
Прикрутил при помощи создания ресурсов sitemap.xml и robots.txt
Теперь ломаю голову, как скрыть в файле robots.txt страницы блога на всех поддоменах а на основном оставить.
Для реализации поддоменов использовал компонент cityFields
Буду очень благодарен за помощь!
Сделал сайт с поддоменами (региональными)
Прикрутил при помощи создания ресурсов sitemap.xml и robots.txt
Теперь ломаю голову, как скрыть в файле robots.txt страницы блога на всех поддоменах а на основном оставить.
Для реализации поддоменов использовал компонент cityFields
Буду очень благодарен за помощь!
Автоматическое создание артикула для miniShop2 (с проверкой на уникальность)
Три года назад этот вопрос поднимался вот здесь.
В результате есть работающий код:
Также есть вариант для TV генерирующий артикулы в числовом виде.
Ну а если этот плагин будет ещё проверять на уникальность артикула, ему вообще цены не будет ))
РЕШЕНИЕ (чтобы не копаться в комментах).
Артикулы получаются уникальные типа: 38125 — ID категории и товара
В результате есть работающий код:
<?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 и Николай приветствуется )) Медленная загрузка страниц
Здравствуйте.
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
[mFilter2] Вывод товаров со смежными значениями
Небольшая заготовка из вчерашнего рукоделия.
Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):

Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.
Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.
В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.
Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):

Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.
Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.
В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.
Вывод определенной страницы в pdo menu
Добрый день!
Есть верхнее меню на сайте:
atmjet.ru/jets/
У меня там выводится меню с дочерними страницами Услуг, все работает ок:
Есть верхнее меню на сайте:
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>Но мне нужно в выпадающем списке, где Услуги, вывести еще три определенных страницы, которые НЕ являются дочерними к услугам. Как это можно сделать?