Вопросы
Дробное количество товара Minishop2
Всем привет.
Подскажите пожалуйста, на правильном ли я пути, и правильная ли логика?
Есть интернет-магазин на minishop2.
Цена за товар указывается в метрах.
Минимальное количество товара для покупки 0.1 метра.
Дефолтное поле «Количество» завязано на целых числах, для его изменения нужно вносить правки в ядро: (Подробнее modx.pro/help/3991).
От этого варианта я решил отказаться.
Решил через плагины.
Создаем своё поле и выводим его вместо в форме карточки товара.
Перед добавлением товара — msOnBeforeAddToCart
Перед формированием заказа — msOnBeforeCreateOrder
Пока в голове только такое решение:
Через ajax на форме записывать значение в сессию. В плагине читать эту сессию.
На странице корзины
Из сессии берем значение метража, если сессии нет, то выставляем значение 1.
На какое событие лучше повесить изменение цены на странице корзины?
Верна ли моя логика? Буду рад любой подсказке, спасибо.
Подскажите пожалуйста, на правильном ли я пути, и правильная ли логика?
Есть интернет-магазин на minishop2.
Цена за товар указывается в метрах.
Минимальное количество товара для покупки 0.1 метра.
Дефолтное поле «Количество» завязано на целых числах, для его изменения нужно вносить правки в ядро: (Подробнее modx.pro/help/3991).
От этого варианта я решил отказаться.
Решил через плагины.
Создаем своё поле и выводим его вместо в форме карточки товара.
<input class="input" type="number" value="0.1" step="0.1" min="0" max="100">Создаем плагин на 2 события:Перед добавлением товара — msOnBeforeAddToCart
Перед формированием заказа — msOnBeforeCreateOrder
<?php
switch ($modx->event->name) {
case 'msOnBeforeAddToCart':
$areaProduct = "значение метража"
$new_price = $product->get('price') * $areaProduct;
$product->set('price', $new_price);
break;
}как получать значение поля метраж из формы$areaProduct?Пока в голове только такое решение:
Через ajax на форме записывать значение в сессию. В плагине читать эту сессию.
На странице корзины
Из сессии берем значение метража, если сессии нет, то выставляем значение 1.
На какое событие лучше повесить изменение цены на странице корзины?
Верна ли моя логика? Буду рад любой подсказке, спасибо.
Посоветуйте текстовый редактор для Frontend/
Приветствую
Пытался найти готовый редактор для внешнего интерфейса (прямо на странице редактировать), перепробовал несколько найденных, но все из них по тем или иным причинам нерабочие или мне так повезло. Нужно что-то очень простое типа imperavi — админ открывает страницу на сайте, тут же может ее там же отредактировать и сохранить без заморочек. Есть такое что-то рабочее или надо что-то брать и допиливать?
P.S.
Вообще как-то туговато с нормальными редакторами для MODX давным давно…
Пытался найти готовый редактор для внешнего интерфейса (прямо на странице редактировать), перепробовал несколько найденных, но все из них по тем или иным причинам нерабочие или мне так повезло. Нужно что-то очень простое типа imperavi — админ открывает страницу на сайте, тут же может ее там же отредактировать и сохранить без заморочек. Есть такое что-то рабочее или надо что-то брать и допиливать?
P.S.
Вообще как-то туговато с нормальными редакторами для MODX давным давно…
создание документа программно не msproduct обычный ресурс
Всем привет.
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
snippet
formit2resource
chunk form
сделал так
буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
[[!FormIt?
&hooks=`formit2file,formit2resource`
&template=``]]
</div>snippet
formit2resource
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('username')));
if (empty($doc)){
$doc = $modx->newObject('modResource');
$doc->set('createdby', $modx->user->get('id'));
}
else{
$doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
if ($field !== 'spam' && $field !== 'resource_id'){
$doc->set($field, $value);
}
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->set('published', 0);
$doc->set('hidemenu', 1);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
{
/* handles checkboxes & multiple selects elements */
if (is_array($value)) {
$featureInsert = array();
while (list($featureValue, $featureItem) = each($value)) {
$featureInsert[count($featureInsert)] = $featureItem;
}
$value = implode('||',$featureInsert);
}
$tv->setValue($doc->get('id'), $value);
$tv->save();
}
}
$modx->cacheManager->refresh();
return true;chunk form
сделал так
<input class="field" type="text" name="pagetitle"
value="[[+fi.pagetitle]]отзыв [[*createdon:strtotime:date=`%c`]]
от пользователя [[!+modx.user.id:userinfo=`username`]]" />буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
(РЕШЕНО) Проблема с соединением через SSL
Неожиданно возникла проблема с соединением через SSL у заказчика. У меня сайт доступен, все прекрасно. Проверил по ping-admin.ru/index.sema на некоторых серверах (в том числе Москва, центр-1) есть такое сообщение:
«Проблема с соединением через SSL. Скорее всего на сервере отключены ряд шифров для SSL, из-за чего некоторые клиенты не смогут подключиться. Обращение производилось к IP...»
По http сайт прекрасно открывается.
Кто-нибудь сталкивался? Как это вылечить? Или это какое-то локальные проблемы провайдеров?
UPD: перевыпустил сертификат Let's Encrypt — все стало ок!
«Проблема с соединением через SSL. Скорее всего на сервере отключены ряд шифров для SSL, из-за чего некоторые клиенты не смогут подключиться. Обращение производилось к IP...»
По http сайт прекрасно открывается.
Кто-нибудь сталкивался? Как это вылечить? Или это какое-то локальные проблемы провайдеров?
UPD: перевыпустил сертификат Let's Encrypt — все стало ок!
Пустое поле в фильтре YandexMaps

Подскажите, почему слева пусто?
Вывожу вот так:
[[!yandexMaps?
&tvCoords=`coords`
&zoom=`10`
¢erCoords=`59.945648, 30.315868`
&checkZoomRange=`0`
&fieldForBalloonContent=`pagetitle`
&markerPresetFieldText=`pagetitle`
&showMoreLink=`true`
&showMoreLinkTpl=`mapBalloon`
&styleMapBlock=`width:100%; height:60vh;`
&styleFiltersBlock=`display:none;`
&objectsTypesJSON=`[
{
"Buildings": {
"parent":"2",
"preset":"islands"
}
}
]`
]] [РЕШЕНО] $modx->newQuery получить значение TV зная id документа
Добрый вечер. По некоторым причинам нет возможности использовать конструкцию $modx->getObject, но существует еще $modx->newQuery
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!
UPD
В моем случае решение выглядит так
Как через данный запрос получить значение TV зная id документа?
Спасибо за ответы!
UPD
В моем случае решение выглядит так
<?php
switch ($modx->event->name) {
case 'msOnGetProductPrice':
$values = & $modx->event->returnedValues;
if (isset($values['price'])) {
$price = $values['price'];
}
$parent = $product->get('parent');
$q = $modx->newQuery('modTemplateVar');
$q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
$q->where(array('modTemplateVar.name' => 'day', 'modTemplateVarResource.contentid' => $parent));
$q->select('modTemplateVarResource.value');
if ($q->prepare() AND $q->stmt->execute()) {
$sale_day = (string)$modx->getValue($q->stmt);
if (date("N") == $sale_day) {
$q = $modx->newQuery('modTemplateVar');
$q->leftJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.tmplvarid = modTemplateVar.id');
$q->where(array('modTemplateVar.name' => 'percent', 'modTemplateVarResource.contentid' => $parent));
$q->select('modTemplateVarResource.value');
if ($q->prepare() AND $q->stmt->execute()) {
$sale_percent = (string)$modx->getValue($q->stmt);
$sale_percent = (100 - $sale_percent) / 100;
$price = preg_replace('/\s+/', '', $price);
$new_price = round($price * $sale_percent);
$values['price'] = $new_price;
}
}
}
break;
} Не приходят уведомления о заявках на почту
Резко перестали приходить уведомления о заявках на почту. Приходят только в 1С. ModX Evolution 1.1
В чем проблема?
В чем проблема?
Как правильно добавлять связи к кастомным объектам?
Всем привет.
Для проекта надо создать несколько кастомных пдо-объектов. С самими объектами проблем нет, а вот с их связями есть.
Как мне привязать свой объект к пользователю, чтоб потом можно было делать вот так:
Для проекта надо создать несколько кастомных пдо-объектов. С самими объектами проблем нет, а вот с их связями есть.
Как мне привязать свой объект к пользователю, чтоб потом можно было делать вот так:
$modx->user->getOne('myObject1') и так:$modx->user->getMany('myObject2')В схеме объекта я пишу <aggregate alias="User" class="modUser" local="user_id" foreign="id" cardinality="one" owner="foreign" />Достаточно ли этого, или надо каким-то образом модифицировать объект modUser, чтоб у него появилась симметричная связь, только composite? Если надо, то как? Появляются ссылки в поиске непонятные.
Всем привет, в поиске появляются ссылки типа такого (прикладываю скрин), сайт как и большинство был взломан в июне, но его чистили, но до сих пор появляются ссылки в поиске такие, таких директорий в сайте нет, может кто сталкивался с такой проблемой?