Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
Павел Романов
15 июня 2016, 19:04
0
Так в логе же:

[2016-06-15 19:03:26] (ERROR @ /home/s5689/www/core/components/formit/model/formit/fihooks.class.php : 552) [FormIt] Произошла ошибка при попытке отправить почту. Невозможно запустить функцию mail.

И у многих хостеров на тестовый период mail() отключена (TimeWeb, например).
Павел Романов
10 июня 2016, 14:57
+2
Сделайте сниппет amp (только пробел уберите тут: & amp;):
<?php
return str_replace('&', '& amp;', $input);

И используйте как модификатор:
[[+pagetitle:amp]]

Ну или встроенным (тоже без пробела):
[[+pagetitle:replace=`&==& amp;`]]
Павел Романов
05 июня 2016, 11:14
+1
Последний вызов пытается вывести записи блога, дочерние по отношению к тому ресурсу, который открыт.
Если открыта статья, то, естественно, он ничего не выводит, поскольку у нее нет «дочек».

Если Вам нужно выводить последние шесть записей на странице статьи, то задайте родителя в качестве &parents (естественно, если все статьи в одном контейнере):
[[pdoResources?
    &parents=`[[*parent]]`	
    &resources=`-[[*id]]`
    &tpl=`BlogLastItems`
    &depth=`0`
    &limit=`6`
]]
Павел Романов
04 июня 2016, 10:22
0
В чанке:
...class="item-[[+idx]]"...
Павел Романов
01 июня 2016, 14:43
0
Префикс таблиц еще поменяйте.
А вообще вот: modx.pro/howto/7902-hardening-modx-revolution-translation/
Павел Романов
30 мая 2016, 15:48
0
Snippet:

<?php
if($id == 4 || $parent == 4){
	$out = '111';
} else {
	$out ='000';
}
return $out;

Вызов:

[[Snippet? &id=`[[+id]]` &parent=`[[+parent]]`]]
Павел Романов
30 мая 2016, 12:09
0
getImageList
Павел Романов
30 мая 2016, 11:38
2
+1
В первом случае Вы просто указываете конкретную TV-шку, которую брать в качестве основы для вывода (привязывать к шаблонам ее не обязательно). Удобно, если используется отдельный источник файлов.
Во втором случае вы указываете только тип TV, который использовать. В данном случае источник файлов будет умолчальным.

Но, чтобы не ошибиться можно делать нужный вывод не кодом, а через конфигурации. Оно на первый взгляд кажется сложнее, но зато надежно )).

Идете в MIGX и создаете новую конфигурацию:



Указываете название:



Добавляете форму:



и поле нужного типа:



Можете указать свой источник файлов:



Сохраняете форму и добавляете нужные колонки и настройки:



Рендер для поля:



Если нужно, редактор:


Сохраняете все.

Ну а в TV просто прописываете имя конфигурации:



Для копирования конфигураций можно использовать импорт/экспорт:


Павел Романов
29 мая 2016, 15:38
0
Тогда Вам нужно сперва определиться, что именно хочется ))

Если Вы хотите, чтобы у категорий работ были собственные страницы, то сделайте их и используйте метод, который я описал выше.

Если достаточно GET-параметра в URL, то можно сделать просто на тегах с помощью, к примеру, tagLister или просто TV типа «Авто метка» и выборки в pdoResources:
&tvFilters=`category==%[[!#GET.tag]]%`

Если нужно вообще все на одной странице, то можете воспользоваться чем-нибудь типа этого
Ну или mSearch2 поставьте и сделайте фильтрацию посредством mFilter2.
Павел Романов
28 мая 2016, 12:41
+1
[[!pdoPage?
&where=`[[!#GET.hours]]......`
]]

Либо просто сниппет:

<?php
return $_GET['hours'];

И тогда:

[[!pdoPage?
&where=`[[!Ваш_сниппет]]......`
]]
Павел Романов
27 мая 2016, 17:54
0
Попробуйте тогда так:

<?php
$list = $modx->runSnippet('pdoResources', array(
'parents'=>4,
'includeTVs'=>'yearProgect',
'limit'=>0,
'depth'=>1,
'tpl'=>'@INLINE [[+tv.yearProgect]]',
'outputSeparator'=>'|',
'sortby'=>'{"yearProgect":"ASC"}'
));
$arr = explode('|', $list);
$uarr = array_unique($arr);

foreach($uarr as $val){
    $string .= '
    <ul>
        <li><a href="#">'.$val.'</a><li>
    </ul>
    ';
}
return $string;
Павел Романов
27 мая 2016, 16:37
0
На скорую руку так:

<?php
$list = $modx->runSnippet('pdoResources', array(
'parents'=>4,
'includeTVs'=>'yearProgect',
'limit'=>0,
'depth'=>1,
'tpl'=>'@INLINE [[+tv.yearProgect]]',
'outputSeparator'=>'|',
'sortby'=>'{"yearProgect":"ASC"}'
));
$arr = explode('|', $list);
$uarr = array_unique($arr);
$string = implode(',', $uarr);
return $string;
Павел Романов
27 мая 2016, 14:29
+1
Сделайте не @INLINE а в чанке.
Павел Романов
27 мая 2016, 09:58
1
0
Делаете у работ TV «categories» типа «Множественный выбор» или «Чекбокс».
В возможных значениях прописываете:

Категория1==#ID_категории_1#||
Категория2==#ID_категории_2#||
Категория3==#ID_категории_3#||
Категория4==#ID_категории_4#||
Категория5==#ID_категории_5#

Или (если набор категорий на сайте часто меняется и хочется автоматизации) то так:
@EVAL return $modx->runSnippet('pdoResources',array('parents'=>ID_родителя_категорий,'limit'=>0,'tpl'=>'@INLINE [[+pagetitle]]==#[[+id]]#','outputSeparator'=>'||'));

Выборку работ в самой категории делаете с помощью tvFilters:
[[pdoResources?
&tvFilters=`categories==%#[[*id]]#%`
....
]]
Павел Романов
26 мая 2016, 17:38
+1
А если L(39) показать в меню?
Павел Романов
26 мая 2016, 16:30
0
Варианта два:
1. У самих работ сделать чекбокс и выводить те, у которых он отмечен.
2. В самом разделе сделать параметр типа «Множественный список», где выбирать нужные работы.
Павел Романов
26 мая 2016, 14:29
+1
Вы можете настроить запуск самого CronManager на хостинге как угодно.
Павел Романов
26 мая 2016, 14:00
+2
Например, сделать сниппет, который будет увеличивать значение и запускать его с помощью CronManager.
Павел Романов
26 мая 2016, 13:43
+2
Добавьте в форму поле:

<input name="show_in_tree" type="hidden" value="0" />
Павел Романов
21 мая 2016, 17:31
0
Пропишите в HEAD:
<base href="[[++site_url]]" />