ms_cdek2 и несколько складов отправки
Есть интернет-магазин и два склада в разных городах. Доставка производится сдэком. Используется Modx+ms2+ms_cdek2. С какого склада поедет товар — зависит от города, куда будет доставка. Можно как-то для ms2_cdek менять город отправки на фронтэнде? В корзине покупатель выбирает свой город и в зависимости от этого выбирается, с какого склада поедет товар, и рассчитывается стоимость доставки исходя из этого. Так возможно сделать?
UPD. В /core/components/ms_cdek2/model/ms2/mscdekhandler.class.php в строке 54 из системных настроек берётся sender_index:
Теперь вопрос: как передать это значение с фронта?
UPD. В /core/components/ms_cdek2/model/ms2/mscdekhandler.class.php в строке 54 из системных настроек берётся sender_index:
$from_location = $ms_CDEK2->getLocation(['postal_code' => $ms_CDEK2->config['sender_index']]);
Если заменить это к примеру на $from_location = $ms_CDEK2->getLocation(['postal_code' => '450000']);
то расчет идет верно от города с индексом 450000.Теперь вопрос: как передать это значение с фронта?
csv загрузка
Здравствуйте, помогите пожалуйста.
Есть форма загрузки файла (создал документ)
И есть обработчик (создал статичный снипет)
код полность работает прсто на сервере но в (MODX не в какую)
вот обработчик
Есть форма загрузки файла (создал документ)
И есть обработчик (создал статичный снипет)
код полность работает прсто на сервере но в (MODX не в какую)
<form action="upload.php" method="post" enctype="multipart/form-data">
<div class="input-group">
<div class="custom-file">
<input type="file" class="custom-file-input" id="customFileInput" aria-describedby="customFileInput" name="file">
<label class="custom-file-label" for="customFileInput">Select file</label>
</div>
<div class="input-group-append">
<input type="submit" name="submit" value="Upload" class="btn btn-primary">
</div>
</div>
</form>
снипет он видит точно так как выдает ошибку и так же знает что есть такая таблицавот обработчик
<?php
if (isset($_POST['submit']))
{
$fileMimes = array(
'text/x-comma-separated-values',
'text/comma-separated-values',
'application/octet-stream',
'application/vnd.ms-excel',
'application/x-csv',
'text/x-csv',
'text/csv',
'application/csv',
'application/excel',
'application/vnd.msexcel',
'text/plain'
);
if (!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'], $fileMimes))
{
$csvFile = fopen($_FILES['file']['tmp_name'], 'r');
fgetcsv($csvFile);
while (($getData = fgetcsv($csvFile, 10000, ",")) !== FALSE)
{
$name = $getData[4];
$data3 = array('name' => $name);
$table = 'modx_test';
$query = $modx->prepare("INSERT INTO `$table` (`name`) values (:name)");
$query->execute($data3);
}
fclose($csvFile);
}
else
{
echo "Please select valid file";
}
}
Вызвать опцию товара в сниппете
Как получить одну опцию по ключу товара внутри шаблона через сниппет?
Из того что нашёл на просторах этого форума получилось так, но результат никакой
Из того что нашёл на просторах этого форума получилось так, но результат никакой
<?php
$product = $modx->getObject('msProduct', $modx->resource->get("id"));
$options = $product->getMany('options');
foreach($options as $option){
if($option['key'] == 'type_food'){
print_r($option['value']);
}
}
Почему не выводятся значения переменных в чанке сниппета на fenom?
Добрый день!
Имеется компонент Sendex. Переписываю его чанки на fenom и почему-то не могу вывести значения переменных с использованием синтаксиса fenom. Например, в стандартном синтаксисе [[+code]] переменная выводится, а через {$code} — нет. Как-то неграмотно вызывать сниппет на fenom, а переменные выводить через [[+]] Подскажите, пожалуйста, что я делаю не так?
Варианты {$_modx->getPlaceholder('code')}, {$_pls['code']} и {'code' | placeholder} пробовал. Не помогает.
Имеется компонент Sendex. Переписываю его чанки на fenom и почему-то не могу вывести значения переменных с использованием синтаксиса fenom. Например, в стандартном синтаксисе [[+code]] переменная выводится, а через {$code} — нет. Как-то неграмотно вызывать сниппет на fenom, а переменные выводить через [[+]] Подскажите, пожалуйста, что я делаю не так?
Варианты {$_modx->getPlaceholder('code')}, {$_pls['code']} и {'code' | placeholder} пробовал. Не помогает.
Failed to load resource: the server responded with a status of 500
Всем привет.
месяц на сайте ничего не делали и внезапно при сохранении товара (любого) — бесконечно крутится лоадер сохранения.
При этом в консоли возникает ошибка:
Failed to load resource: the server responded with a status of 500 на файл: /connectors/index.php
месяц на сайте ничего не делали и внезапно при сохранении товара (любого) — бесконечно крутится лоадер сохранения.
При этом в консоли возникает ошибка:
Failed to load resource: the server responded with a status of 500 на файл: /connectors/index.php
[EasyComm+Swift] Загрузка фото и видео отзывов в облако Selectel.
Приветствую, делюсь с сообществом нюансами реализации такой задачи как загрузка файлов, прикрепляемых к отзывам, в облачное хранилище от Selectel.Возможно, эта заметка сэкономит кому-то немного времени.
Discontrol скидка на товар + скидка на количество
Здравствуйте! Помогите пожалуйста с вопросомю
У меня есть дополнение Discontrol в котором я выставил на определенные позиции скидку в 7%.
Но так же я хочу, чтобы на эти позиции при определенной сумме этих позиций (в корзине могут быть и другие), польхователь получал еще +3%.
Можно ли и как это реализовать?
Сейчас я это сделал отдельно 7% на позиции и 3% на сумму корзины всех товаров и скидка +3% на все товары. Хочется только на указанные чтобы была скидка.
У меня есть дополнение Discontrol в котором я выставил на определенные позиции скидку в 7%.
Но так же я хочу, чтобы на эти позиции при определенной сумме этих позиций (в корзине могут быть и другие), польхователь получал еще +3%.
Можно ли и как это реализовать?
Сейчас я это сделал отдельно 7% на позиции и 3% на сумму корзины всех товаров и скидка +3% на все товары. Хочется только на указанные чтобы была скидка.
Обзор фильтров для интернет-магазинов
Для MiniShop планируется сделать фильтры встроенные в него. Вопрос как и каким образом их делать? Я разбирался в фильтрах mFilter2, пробовал делать mapFilter и, сейчас, искал в интернете реализации фильтров. Насколько нашел есть 4 способа реализации фильтра. Под катом их обзор.
Использование xpdo при вызове скрипта через cron
Здравствуйте! Возникла необходимость пробежаться по объектам в скрипте, запускаемом через cron.
Код примерно следующий:
PHP Fatal error: Uncaught Error: Call to a member function prepare() on null
xPDOIterator->rewind()
Судя по всему, xpdo не понимает, что это за объект PageStatistics, тк с modResource это прекрасно работает. Как исправить ситуацию?
Код примерно следующий:
<?php
define('MODX_API_MODE', true);
require_once '/var/www/site/core/config/config.inc.php';
require_once MODX_BASE_PATH . 'index.php';
global $modx;
if (!$modx) echo 'failed load MODX object';
else {
$stat = $modx->getIterator('PageStatistics',array(
'views_now:>' => 0,
));
foreach($stat as $pageStat){
$modx->log(1, $pageStat->get('user_key'));
}
}
Получаю ошибку на строке с foreach:PHP Fatal error: Uncaught Error: Call to a member function prepare() on null
xPDOIterator->rewind()
Судя по всему, xpdo не понимает, что это за объект PageStatistics, тк с modResource это прекрасно работает. Как исправить ситуацию?
результат выполнения сниппета в параметре сниппета работает такое?
[[!msProducts? &tpl=`tovartplCat` &limit=`64` &parents=`2` &tvFilters=`[[!where]]` &includeTVs=`types,config,style,fasad` ]]
а вот сам сниппет where<?php
$filterz = '';
if($_GET['types']) $filterz = $filterz.'types==%*'.$_GET['types'].'*%'.',';
if($_GET['config']) $filterz = $filterz.'config==%*'.$_GET['config'].'*%'.',';
if($_GET['style']) $filterz = $filterz.'style==%*'.$_GET['style'].'*%'.',';
if($_GET['fasad']) $filterz = $filterz.'fasad==%*'.$_GET['fasad'].'*%'.',';
if($filterz !=='') $filterz = substr($filterz,0,-1);
return $filterz;
так вообще работает или как то по другому надо?