Вопросы
Перенос строки в начале кода всех страниц на сайте
Не могу назвать себя опытным пользователем MODX, но все же вижу подобное впервые.
Создан новый сайт, постепенно добавляются шаблоны и страницы и вдруг в исходном коде страниц в браузере я вижу такое:

Причем происходит это на всех страницах сайта с любыми шаблонами и даже там, где выбран пустой шаблон.
А это приводит, например, к тому, что файл sitemap.xml, сгенерированный с помощью pdoSiteMap, не проходит валидацию с такой ошибкой:
Создан новый сайт, постепенно добавляются шаблоны и страницы и вдруг в исходном коде страниц в браузере я вижу такое:

Причем происходит это на всех страницах сайта с любыми шаблонами и даже там, где выбран пустой шаблон.
А это приводит, например, к тому, что файл sitemap.xml, сгенерированный с помощью pdoSiteMap, не проходит валидацию с такой ошибкой:
Ошибка синтаксического анализа XML: объявление XML или текста не в начале сущностиПомогите, пожалуйста, разобраться в причине такого поведения страниц.
Переход на нужную страницу после смены пароля
Здравствуйте.
Сделал страницу для смены пароля, выглядит так:
Сделал страницу для смены пароля, выглядит так:
<h2>Изменить пароль</h2>
[[!ChangePassword?
&submitVar=`change-password`
&placeholderPrefix=``
&validateOldPassword=`1`
&validate=`nospam:blank`
&reloadOnSuccess=`0`
&successMessage=`Пароль успешно изменён!`
]]
<div>
[[!+successMessage]]
</div>
<div class="updprof-error">
[[!+error_message]]
</div>
<!-- Ну а далее сама форма с полями и кнопкой -->Необходимо после смены пароля перекидывать пользователя на определённую страницу. Как это сделать? Для ChangePassword есть какой-то параметр? Не могу запустить pdo внутри чанка, обрабатываемого через плагин, как исправить?
Есть плагин, в котором генерируются ресурсы, все выводится нормально, почти.., но не могу там запустить допустим сниппет, или эту команду [[#[[+tv.customer-id]].pagetitle]] он выводит это как текст, а если ставить просто [[+tv.customer-id]], то тупо выведет айди, а нужно, чтобы вывел заголовок страницы.
Часть кода
Часть кода
$params = array(
'parents' => $parent,
'limit' => 6,
'depth' => 1,
'offset' => $offfset,
'level' => 1,
'tpl' => $tpl,
'includeTVs' => $tvs,
'where' => $modx->toJSON($where)
);
$goods = $modx->runSnippet('pdoPage',$params);Так выглядит темплейт.<tr>
<td>[[+idx]]</td>
<td>
<p>
[[+pagetitle]]
</p>
</td>
<td>
<p>
[[+tv.object-name]]
</p>
</td>
<td>
<p>[[#[[+tv.project-type]].pagetitle`]]</p>
</td>
<td>
<p>
[[+tv.from-year]][[+tv.by-year:!empty=`-[[+tv.by-year]]`]]
</p>
</td>
<td>
<p>
[[+tv.project-additional]]
</p>
</td>
</tr> Доп поля в оформлении заказа через minishop2
Добрый день.
Столкнулся с такой проблемой, создал дополнительные поля в форме заказа. Но на почту менеджеру приходят пустыми, делал по примеру Как тут. Но теперь приходит менеджеру письмо с незаполненными полями. И в админке тоже нет этих полей.
Столкнулся с такой проблемой, создал дополнительные поля в форме заказа. Но на почту менеджеру приходят пустыми, делал по примеру Как тут. Но теперь приходит менеджеру письмо с незаполненными полями. И в админке тоже нет этих полей.
Проблемы с MIGX после переноса на другой хостинг. Решено
Приветствую!
Сделал сайт перенес на хостинг заказчика. Вроде бы все было нормально. Прошло чуть больше месяца. Зашел на сайт добавить информацию и обнаружил проблему. При редактировании и добавлении строки TV типа MIXG страница и модальное окно съезжают вверх (за пределы окна браузера). Если уменьшить зум страницы, то видно что в модальном окне данные грузятся бесконечно.
Сделал сайт перенес на хостинг заказчика. Вроде бы все было нормально. Прошло чуть больше месяца. Зашел на сайт добавить информацию и обнаружил проблему. При редактировании и добавлении строки TV типа MIXG страница и модальное окно съезжают вверх (за пределы окна браузера). Если уменьшить зум страницы, то видно что в модальном окне данные грузятся бесконечно.
Как вывести заголовок выпадающего списка (TvKey)?
Здравствуйте!
Как вывести заголовок выпадающего списка в шаблоне?
Выпадающий список — список стран.
Такой вариант отпадает.
Как вывести заголовок выпадающего списка в шаблоне?
Выпадающий список — список стран.
Такой вариант отпадает.
[[*tv_name:is=`australia `:then=`Австралия`]] Авторизация по номеру телефона
Здравствуйте.
Мне необходимо осуществить авторизацию на сайте по Email и телефону. Первую часть решил довольно просто: Так как логин мне не нужен, то при регистрации он становится равным Email и можно просто авторизоваться. А вот с телефоном всё сложно. Нашёл эту заметку: modx.pro/help/5085 и сделал по аналогии. Написал плагин с кодом:
Мне необходимо осуществить авторизацию на сайте по Email и телефону. Первую часть решил довольно просто: Так как логин мне не нужен, то при регистрации он становится равным Email и можно просто авторизоваться. А вот с телефоном всё сложно. Нашёл эту заметку: modx.pro/help/5085 и сделал по аналогии. Написал плагин с кодом:
$modx->event->_outputonUserNotFound = $modx->getObjectGraph('modUser', '{"Profile":{},"UserSettings":{}}', array ('Profile.phone' => $scriptProperties['username']));повесил его на событие onUserNotFound и не работает. При попытке авторизоваться по номеру выдаёт, что логин или пароль не верные. Что я делаю не так? Отменить голос в комментарии Tickets
Добрый день.
На сайте реализованы комментарии с помощью Tickets. Выявлено, что если пользователь поставил оценку комментарию, то он уже не может ее изменить. Или я что-то не понял?
Есть ли официальное решение, как пользователь может отменить ошибочную оценку комментария?
На сайте реализованы комментарии с помощью Tickets. Выявлено, что если пользователь поставил оценку комментарию, то он уже не может ее изменить. Или я что-то не понял?
Есть ли официальное решение, как пользователь может отменить ошибочную оценку комментария?
AjaxForm отображение загруженных файлов в адмике
Подскажите пжта, как реализовать возможность просмотра файлов, прикрепленных к форме, непосредственно в Formit? Сейчас в Formit отображается только наименование файла. Файлы успешно сохраняются на сервере, но открыть их через Formit не получается.
Сам вызов формы:
Сам вызов формы:
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.template`
&hooks=`formit2file,FormItSaveForm,email`
&customValidators=`formit2checkfile`
&emailTpl=`tpl.email`
&formName=`JOB FROM SITE` &formFields=`name,age,message,upload_1`
&fieldNames=`name==Name,age==Age,message==About me,upload==Photo №1`
&validationErrorMessage=`The form contains errors!`
&successMessage=`Message sent successfully!`
&closeMessage=`Close message`
&errTpl=`[[+error]]`
]]Загрузка файлов посредством сниппета formit2file:<?php
// initialize output;
$output = true;
// valid extensions
$ext_array = array('jpg', 'jpeg', 'png');
// create unique path for this form submission
//$uploadpath = 'assets/uploads/';
// you can create some logic to automatically
// generate some type of folder structure here.
// the path that you specify will automatically
// be created by the script if it doesn't already
// exist.
// EXAMPLE:
// this would put all file uploads into a new,
// unique folder every day.
$uploadpath = 'assets/uploads/'.date('Y-m-d').'/';
// get full path to unique folder
$target_path = $modx->config['base_path'] . $uploadpath;
// get uploaded file names:
$submittedfiles = array_keys($_FILES);
// loop through files
foreach ($submittedfiles as $sf) {
// Get Filename and make sure its good.
$filename = basename( $_FILES[$sf]['name'] );
// Get file's extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$ext = mb_strtolower($ext); // case insensitive
// is the file name empty (no file uploaded)
if($filename != '') {
// is this the right type of file?
if(in_array($ext, $ext_array)) {
// clean up file name and make unique
$filename = mb_strtolower($filename); // to lowercase
$filename = str_replace(' ', '_', $filename); // spaces to underscores
//$filename = date("Y-m-d_G-i-s_") . $filename; // add date & time
// full path to new file
$myTarget = $target_path . $filename;
// create directory to move file into if it doesn't exist
if(!is_dir($target_path)) {
mkdir($target_path, 0755, true);
} else {
$modx->log(modX::LOG_LEVEL_ERROR, 'dossier existe' );
}
// is the file moved to the proper folder successfully?
if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) {
// set a new placeholder with the new full path (if you need it in subsequent hooks)
$modx->setPlaceholder('fi.'.$sf.'_new', $myTarget);
// set the permissions on the file
if (!chmod($myTarget, 0644)) { /*some debug function*/ }
} else {
// File not uploaded
$errorMsg = 'There was a problem uploading the file.';
$hook->addError($sf, $errorMsg);
$output = false; // generate submission error
}
} else {
// File type not allowed
$errorMsg = 'Type of file not allowed.';
$hook->addError($sf, $errorMsg);
$output = false; // generate submission error
}
// if no file, don't error, but return blank
} else {
$hook->setValue($sf, '');
}
}
return $output; Имя с формы в параметр emailFromName AjaxForm
Подскажите, как передать Имя с формы в параметр emailFromName AjaxForm (FormIt).
Пытаюсь таким образом:
Если задаю явно
Нужно чтобы то значение, что пользователь заполнил в форме приходило в письме, чтобы сразу было видно от кого (по имени) приходит письмо.
Пытаюсь таким образом:
'emailFromName' => $name,Приходит имя сайта, указанное в настройке site_name
Если задаю явно
'emailFromName' => '55555',То все приходит
Нужно чтобы то значение, что пользователь заполнил в форме приходило в письме, чтобы сразу было видно от кого (по имени) приходит письмо.