Всего 89 408 комментариев

Павел Романов
16 минут назад
0
Запустите через Console или сниппетом:

foreach ($modx->getIterator('modResource', array()) as $resource) {
	$menutitle = $resource->get('menutitle');
	if($menutitle){
            $resource->set('title', str_replace('[[*menutitle]]', $menutitle)); // для title
            $resource->set('longtitle', str_replace('[[*menutitle]]', $menutitle)); //для longtitle
            //....
            $resource->save();
        }
}

Только бэкап, естественно, сделайте.
MrKarandash
55 минут назад
0
Вообще я так понял какая то неполадка с 1.0.2
Следующий код из примера тоже не работает и крашит все после себя
{'!Localizator' | snippet : [
        'snippet' => 'pdoMenu',
        'parents' => 0,
        'includeTVs'     => 'img',
        'processTVs' => 'img',
        'parents' => 0,
        'level' => 1,
]}
Так же ошибка в консоли
[2018-11-13 18:00:46] (ERROR @ /public_html/core/xpdo/om/xpdoquery.class.php : 764) Encountered empty IN condition with key contentid
[2018-11-13 18:00:46] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 988) xPDO->removeCollection - Error deleting modTemplateVarResource instances using query DELETE FROM `modx_site_tmplvar_contentvalues` WHERE `modx_site_tmplvar_contentvalues`.`contentid` IN () 
[2018-11-13 18:15:33] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
[2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
Anton Erin
56 минут назад
0
Бесспорно, начинание хорошее.
Но у меня (разработчика CRM для различных ниш) мнение следующее:
когда компания/пользователь доходят до таких требований, которые перечислены выше, то очень часто каждому заказчику (компании/пользователю) необходимы совершенно другие (кастомные) метрики и функционал, которые не специфичны именно для их вида деятельности. То есть обязательно потребуется доработка под требования определенной компании.
Это значит, что Вы сделаете и опубликуете компонент, который изначально был заточен именно под ваш вид деятельности, вашей компании/заказчика. Конечно, есть среднестатистические требования, но не здесь.

Компонент хороший, но «не для всех». Наверно, лучше предлагать услуги по интеграции данного компонента с MODX или другие аналоги, и зарабатывать на этом.

MODX — это фреймворк для создания сайтов и веб-аппликаций.
CRM — это контакты, продажи, склад, обслуживание, обращения, поддержка и Аналитика (воронки продаж, каналы, статистика, срезы, графики по самым разнообразным параметрам).

Возможно лучше сделать интеграцию между из MODX -> в CRM (например, SalesPlatform, Vtiger, Sugar) и продавать/дарить её пользователям modx.pro.

P.S. Коммент ради того, чтобы человеку помочь заработать и сэкономить его время. Не ради вредительства сообществу MODX! :)
Roman
1 час назад
0
Не знаю, как это расценивать, баг или недочет. Вообщем ситуация следущая. Есть товар, у этого товара цена зависит от цвета и от типа покрытия.
У этого товара нет в некоторых цветах других покрытий и выводится цена карточки товара.
Пример:
krovlya-yuga.ru/products/keram_cherepica/czelnaya-cherepicza-creaton-seriya-ratio-hongeda/
черный цвет, покрытие глазурь — такой товар есть, а вот цвет черный, покрытие — натуральное — такого товара нет и выводится цена карточки товара. Кто сталкивался с таким?
Hiddenski
2 часа назад
0
Как минимум это очень любопытный функционал. Пилите!
MrKarandash
2 часа назад
0
Прикрутил MIGX к документу, добавил в настройках локализатора это поле. При нажатии поляи из MIGX успешно переводятся. А вот как вывести их в документе?

[[!Localizator? 
    &snippet=`getImageList`
    &tvname=`blocks`
	&tpl=`blocks_tpl`
	&docid=`[[*id]]`
	&limit=`999`
]]
отдает 500 ошибку
Татьяна
4 часа назад
0
добрый день. подскажите пожалуйста что я сделала не так.

у меня похожая ситуация: мне нужно отправить форму с помощью аякса и пхп.
сделала свой сниппет MySnippet код

if ($_SERVER[«REQUEST_METHOD»] == «POST») {
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
if (isset($_POST['formData'])) {$formData = $_POST['formData'];}

$to = «mail@yandex.ru»;
$sendfrom = «mail@yandex.ru»;
$headers = «From: ». strip_tags($sendfrom). "\r\n";
$headers .= «Reply-To: ». strip_tags($sendfrom). "\r\n";
$headers .= «MIME-Version: 1.0\r\n»;
$headers .= «Content-Type: text/html;charset=utf-8 \r\n»;
$subject = "$formData";
$message = "$formData
Имя : $name
Телефон: $phone";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo 'Спасибо за отправку вашего сообщения!';
}
else
{
echo 'Ошибка. Сообщение не отправлено!';
}
} else {
http_response_code(403);
echo «Попробуйте еще раз»;
}

в корне сайта где index (не в папку core) положила файл пхп код которого

<?php

require_once 'config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');

if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}

echo $modx->runSnippet(«MySnippet», $_POST);
?>

в js файле указала файл пхп который лежит рядом с index код

$(document).ready(function () {
$(«form»).submit(function () {
// Получение ID формы
var formID = $(this).attr('id');
// Добавление решётки к имени ID
var formNm = $('#' + formID);
$.ajax({
url: 'runmusnippet.php',
type: «POST»,
data: formNm.serialize(),
success: function (data) {
// Вывод текста результата отправки
$(formNm).html(data);
},
error: function (jqXHR, text, error) {
// Вывод текста ошибки отправки
$(formNm).html(error);
}
});
return false;
});
});

как итог, сообщение с ошибкой — Ошибка. Сообщение не отправлено!

подскажите пожалуйста, может у меня неправильный алгоритм действий и я что то не сделала, или как то не так подключила. Подскажите пожалуйста.

Заранее, спасибо
Борис
4 часа назад
0
Отличная статья, взял в фэворит!)
Alex Lenk
5 часов назад
0
Спасибо Алексей, да это помогло, про экспериментировал, вставил в форму name=«email», заработало! Однако, для антиспама лучше воспользоваться emailReplyTo
Наумов Алексей
5 часов назад
+1
Цитата из документации Formit
emailReplyTo: 
An email to set as the reply-to. If not set, will first look for an `email` form field. 
If none is found, will default to value set in `emailFrom`.
Андрей
6 часов назад
0
Приходит заявка с данными от клиента, при нажатии на «Ответить» в поле «Кому» подставляется емейл сайта, однако хотелось бы что бы клиента подставлялось.
Что вполне логично, т.к. заявка отправляется с адреса сайта а не клиента.

Как вариант можно в письмо добавить такой код:
Ссылка для ответа - <a href="mailto:[[+email]]?subject=RE: Заявка с сайта site.ru">Ответить клиенту</a>.
Андрей
6 часов назад
0
Попробуйте поднять версию php на 7 и выше. Было обновление пакета два дня назад:

UpgradeMODX 2.0.3-pl

Fix bug with possible 500 error in PHP 5

Если не поможет, удалить из таблицы modx_dashboard_widget запись Upgrade MODX Widget, и после того как зайдёте в админку, обновить пакет до последней версии.
Сергей
6 часов назад
0
да, там показывает ошибку в upgrademodx, только что с ней делать непонятно
Андрей
7 часов назад
0
Так понимаю что ошибки не регистрирует лог самого modx, в серверном error.log точно должны быть записи.
Yar
Yar
7 часов назад
0
Лайк за подборку тематических изображений для лендинга)
Андрей Степаненко
9 часов назад
0
Данные то в форму нужно передавать.
Они саму там не как не окажутся.
Надо в заказе в поле properties записать данные
properties: {
mspra: [
    'name' => 'ООО "Рогов"'
]
}
К примеру добавить плагин с событие msOnSubmitOrder в него передается эксземпляр заказа.
И там записать данные из формы

$data = $_REQUEST['my_data'];
$properties = $order->get('properties');
$properties['mspra'] = array(
    'name' => $data['name']
);

$order->set('properties', $properties);
Konstantin
9 часов назад
0
ни так ни так, или это надо в отдельную форму?
Андрей Степаненко
9 часов назад
0
Вроде так:
{$fp.mspra.name}
или так

Но лучше так:
{$order.properties.mspra.name}