Андрей

Андрей

С нами с 09 апреля 2015; Место в рейтинге пользователей: #68
Андрей
04 января 2018, 16:00
+1
Попробуйте так:

<?php
define('MODX_API_MODE', true);
require 'index.php';

$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');

$res = $modx->getIterator('modResource', ['parent' => 2]);

foreach ($res as $r) {
	$pub = $r->get('published');
	if ($pub == 0) {
		$r->set('parent', 1);
           	$r->save();
	}
}

Здесь подключил API так как описано здесь — Как работать с MODX Api. Проверил на modhost, всё работает. Parent-ы только свои подставляйте.
Андрей
04 января 2018, 15:41
+1
Файл modx.class.php должен быть доступен по пути — core/model/modx/modx.class.php.
Возможно глупый вопрос, но в файле есть открывающий тег php? :)

<?php
тут дальше код...
Андрей
04 января 2018, 15:12
+1
Посмотрите лог ошибок на всякий случай. Scheduler пользуюсь регулярно, должно всё работать. В этой строчке прописали путь к config.core?

require_once '/absolute/path/to/modx/config.core.php';

Либо попробуйте просто сделать задание для cron в панели хостинга.
Андрей
04 января 2018, 00:23
0
Это не ошибка, это в дефолтном чанке прописаны варианты как можно делать вывод:

<p><a href="[[++bannery_click]]/[[+adposition]]"><img src="[[+image]]" alt="[[+name]]" title="[[+description]]"/></a></p>
<p>Banner with extra params (available as placeholders in banner URL):<br />
<a href="[[++bannery_click]]/[[+adposition]]?id=[[*id]]&something=123"><img src="[[+image]]" alt="[[+name]]" /></a></p>

Второй вариант это баннер с дополнительными параметрами в URL. Соответственно отредактируйте вывод в нужный вам вид.
Андрей
04 января 2018, 00:15
+1
Как мне видится решение, создать файл с примерно таким кодом:

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

$res = $modx->getIterator('modResource', ['parent' => 5]);

foreach ($res as $r) {
	$pub = $r->get('published');
	if ($pub == 0) {
		$r->set('parent', 7);
           	$r->save();
	}
}

И повесить это дело на cron, либо использовать готовое решение — Scheduler.

p.s. Подключение API во внешнем файле брал из документации — Loading MODX Externally, работоспособность не проверял. Сам код смены родителя возможно не идеальный, но рабочий 100% :)
Андрей
03 января 2018, 23:47
+1
Т.к. у вас распечатывает массив полей, для начала посмотрите существует ли дефолтный чанк для вывода — byAd. Либо же в вашем вызове указан несуществующий tpl:

[[!BannerY? &position=`2` &tpl=`chunkname`]]

&tpl — Имя чанка для оформления баннера. Если не указан, то содержимое полей баннера будет распечатано на экран.
Андрей
28 декабря 2017, 21:51
+1
'allowedFields' =>'parent,pagetitle,content,template,hidemenu,tags,tv3,tv4,tv5'
'parentsIncludeTVs' => 'tv3,tv4,tv5'
Тут если не ошибаюсь нужно писать уже имена TV-шек а не id. Если найду архив проекта на котором делал, напишу как сделан вызов и форма.
Андрей
28 декабря 2017, 11:04
+1
Мне помогло вот это — https://modx.pro/components/11939/#comment-79596. Тоже когда разбирался первый раз, не сразу понял как писать в TV :)

Код из документации:
<div class="form-group">
  <label>Пример TV </label>
  
  <input type="text" name="tv1" class="form-control">
</div>
Андрей
27 декабря 2017, 22:19
0
Добавить в вызов mFilter2 параметр:

&where=`{"Data.price:>=":2000}`
Андрей
27 декабря 2017, 14:08
0
Тогда надо смотреть детально, почему у вас не срабатывает сниппет как нужно. Проверил ещё на паре сайтов, везде пустые опции скрывает.
Андрей
27 декабря 2017, 12:41
0
Проверил сейчас на рабочем магазине, в этом случае пустые опции также не выводятся. Какая у вас версия minishop?
Андрей
27 декабря 2017, 11:53
0
но не подскажете как сделать так, чтобы пустые не заполненные поля опций не выводились там где они должны отображаться?

Напишите подробней, где именно и что не должно выводиться? Приложите вызов сниппета, скриншот, что в итоге нужно получить?

Т.к. при вызове по дефолту:
{'msProductOptions' | snippet}
пустые опции не выводятся.
Андрей
17 декабря 2017, 13:35
+3
У вас вероятно включена настройка Использовать Fenom на страницах. Посмотрите где у вас в шаблоне используется конструкция {«modUser.id — и добавьте пробел после фигурной скобки.
Андрей
16 декабря 2017, 14:34
+2
Поправьте форму так:

{'!AjaxForm' | snippet : [
            'snippet'=>'FormIt',
            'form'=>'formReview',
            'hooks'=>'email',
            'emailSubject'=>'Отзыв',
            'emailFrom'=>'no-reply@sitename.ru',
            'emailTo'=>$_modx->config.email_reviews,
            'emailTpl' => 'tpl.report',
            'validate'=>'name:required,message:required',
            'validationErrorMessage'=>'В форме имеются ошибки!',
            'successMessage'=>'Сообщение успешно отправлено!'
        ]}

emailFrom — всегда указываю на всякий случай, emailTo — здесь не нужны фигурные скобки, переменная уже внутри вызова fenom, validate — тут вообще что то странное было написано :)

И самое главное — emailTpl, должна же форма понимать что именно отправлять на почту) чанк tpl.report (пример):
<tr valign="top"><td>Имя:</td><td>{$name}</td></tr>	
<tr valign="top"><td>Сообщение:</td><td>{$message}</td></tr>
Андрей
16 декабря 2017, 14:00
0
Как в старом анекдоте — «дяденька а дяденька я знаю что у вас сломалось...!!!» =) Показывайте вызов сниппета и чанки формы и репорта.
Андрей
15 декабря 2017, 11:46
0
А файл wm.png у вас в папке core/model/phpthumb/images/ находится?

Либо попробовать указать полный путь к изображению —
wmi|/path/to/wm.png
Андрей
14 декабря 2017, 16:13
0
Такой вызов работает:
{'ms2Gallery' | snippet : ['tpl'=>'@FILE chunks/test2.tpl']}

Путь до файла:
core/elements/chunks/test2.tpl

У вас чанки в папке elements лежат?
Андрей
12 декабря 2017, 18:26
0


Как то маловато вводных данных, что значит «Не работает»? Не показывает форму, не выводит сообщения, не отправляется форма?

Для начала посмотрите ошибки в консоли браузера, и лог ошибок modx, возможно проблема прояснится. Если ничего не получится, то пишите в техподдержку компонента.
Андрей
10 декабря 2017, 14:37
0
Проблема не в pdoTools, а в синтаксисе на странице. Можно включить настройку и смотреть логи:

2.9.3 pl
[#255] [Fenom] New system setting «pdotools_fenom_save_on_errors» to save code on compilation errors in the cache directory for later debugging.

Или просто найти в шаблоне или чанке, где у вас есть конструкция — '{if' на 73й строке, и поправить.
Андрей
06 декабря 2017, 19:55
0
Какая галерея без разницы, вам нужен скрипт любого лайтбокса, например Fancybox, как подключить скрипт и какие чанки править в Cliche — читайте документацию.