YandexMaps не выводит все ресурсы на карту
Не отправляется почта
[2015-04-10 16:49:22] (ERROR @ /assets/components/ajaxform/action.php) [FormIt] Произошла ошибка при попытке отправить почту. Пустое тело сообщения
Настройки почты нужна она или нет)[[!AjaxForm?
&snippet=`FormIt`
&hooks=`spam,email`
&form=`contactForm`
&emailTpl=`sentContactEmailTpl`
&emailSubject=`Заявка с сайта `
&emailTo=`мояпочта@gmail.com`
&validate=`orderform_name:required,orderform_email:required`
&validationErrorMessage=`Необходимо заполнить обязательные поля!`
&successMessage=`Сообщение успешно отправлено`
]]
код action.php<?php
define('MODX_API_MODE', true);
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
// Switch context if need
if (!empty($_REQUEST['pageId'])) {
if ($resource = $modx->getObject('modResource', $_REQUEST['pageId'])) {
if ($resource->get('context_key') != 'web') {
$modx->switchContext($resource->get('context_key'));
}
}
}
/** @var AjaxForm $AjaxForm */
$AjaxForm = $modx->getService('ajaxform','AjaxForm',$modx->getOption('ajaxform_core_path',null,$modx->getOption('core_path').'components/ajaxform/').'model/ajaxform/', array());
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
$modx->sendRedirect($modx->makeUrl($modx->getOption('site_start'),'','','full'));
}
elseif (empty($_REQUEST['af_action'])) {
echo $AjaxForm->error('af_err_action_ns');
}
else {
echo $AjaxForm->process($_REQUEST['af_action'], $_REQUEST);
}
@session_write_close();
Как запретить менеджеру менять шаблоны страницы?
Перекопал политики доступа, но возможность отключить именно эту фичу не нашел. Подозреваю, что кто-то уже сталкивался с подобным. Подскажите, что к чему?
Объясните pls, странное поведение простого массива
Сочиняю сниппет для вывода списка TV в виде таблицы, где выводятся не только значения TV но и их caption.
Пришел к такому решению:
Вариант 1. работает отлично. Выводит таблицу с CAPTION и VALUE каждого TV.
При использовании варианта 2 выводятся только CAPTION нужных тв-параметров (строки 12, 13 в коде),
а VALUE (строка 15) не выводится.
Если вывести оба варианта массива через print_r, можно увидеть, что они идентичны до знака.
В чем тогда между ними разница?
Озадачен и обескуражен. Теперь не знаю как в сниппет передать список TV для вывода.
Пришел к такому решению:
<?php
print '<tr><td colspan="2"><h1>'.$title.'</h1></td></tr>'; // Просто заголовок таблицы
// ВАРИАНТ 1. Создаю массив со списком id TV-переменных, которые нужно вывести
$arr = array (25,26,27);
// ВАРИАНТ 2. Создаю тот-же массив из параметра $ids, который заполняю в вызове сниппета.
//$arr = explode(',', $ids);
foreach ($arr as $tvID) { // Перебираю TV, указанные в массиве
$captionTv = $modx->getObject('modTemplateVar', $tvID); // Получаю данные TV из таблицы modx_site_tmplvars
$captionVal = $captionTv->get("caption"); // Вытаскиваю значения параметра caption из полученных данных
$val = $modx->resource->getTVValue($tvID); // Получаю значения TV
print '<tr><td>'.$captionVal.'</td><td>'.$val.'</td></tr>'; //Вывожу то и другое
}
ПРОБЛЕМА:Вариант 1. работает отлично. Выводит таблицу с CAPTION и VALUE каждого TV.
При использовании варианта 2 выводятся только CAPTION нужных тв-параметров (строки 12, 13 в коде),
а VALUE (строка 15) не выводится.
Если вывести оба варианта массива через print_r, можно увидеть, что они идентичны до знака.
В чем тогда между ними разница?
Озадачен и обескуражен. Теперь не знаю как в сниппет передать список TV для вывода.
[myCalendar] Календарь для MODX
Есть прикольный календарик на javascript — fullCalendar. Много настроек, красивый вид, поддерживается разработчиками. Но он расчитан только на рендеринг событий. Лично мне он понравился и поэтому я решил познакомить его с MODX Revolution.
Ошибочки..
Вечер добрый сообщество, есть на сайте некий баннер… и вот вдруг возникла задачка закачать др изображения для баннера использую BannerY версия 1.3.1-pl1 при попытке зайти в панель управления этим самым баннером скрин ниже все объясняет…
Comparison
Есть ли какая то возможность, не прибегая с JavaScript сделать вывод товаров для сравнения, не в таком порядке:
А в таком порядке:
т.е что бы товары шли не колонками а строками.
<tr>
<td>Свойство товара №1</td>
<td>Свойство товара №2</td>
</tr>
<tr>
<td>Свойство товара №1</td>
<td>Свойство товара №2</td>
</tr>
А в таком порядке:
<tr>
<td>Свойство товара №1</td>
<td>Свойство товара №1</td>
</tr>
<tr>
<td>Свойство товара №2</td>
<td>Свойство товара №2</td>
</tr>
т.е что бы товары шли не колонками а строками.
AjaxSend и цифры в спиннере
Всем привет!
Проблема с AjaxSend и спиннером, реализующим количество единиц товаров в MS2.
Проблема с AjaxSend и спиннером, реализующим количество единиц товаров в MS2.
Как подключить свой контроллер в сниппете
Хочу создать класс для работы с внесением корректировок в данные в MySQL. Думаю это реализовать через отдельный класс, так как часто используется в разных сниппетах и с разными данными. В контроллере home.class.php (изначально на modExtra) удалил все и написал свой класс:
<?php
class NewEraChanges {
public $object = '';
public $old = '';
public $new = '';
public $date_add = '';
public $date_accept = '';
public $user_add = '';
public $user_accept = '';
public function ChangesArray() {
echo $this->old;
}
}
Пытаюсь вызвать в сниппете, но пишет, что не найден такой класс. Я так понял, что дело в том, что я его не подключил. Как это правильно сделать? Во всех сниппетах его отдельно подключать, или как-то можно 1 раз подключить для всех?<?php
/** @var array $scriptProperties */
/** @var new_era $new_era */
if (!$new_era = $modx->getService('new_era', 'new_era', $modx->getOption('new_era_core_path', null, $modx->getOption('core_path') . 'components/new_era/') . 'model/new_era/', $scriptProperties)) {
return 'Could not load new_era class!';
}
setlocale(LC_ALL, "ru_RU.UTF-8");
include('pChart/class/pData.class.php');
include('pChart/class/pDraw.class.php');
include('pChart/class/pImage.class.php');
// Dataset definition
$a = new NewEraChanges();
$a->old = '11';
$a->ChangesArray();
Заранее благодарен! авторизация на сайте в событии OnUserSave
В событии OnUserSave использую такой код