в общем для тех кому так же как и мне понадобилось несколько превью к папке. решение кривое, но работает)
1) Создаем через phpmyadmin копии строки cat_thumb_id из таблицы modx_easy2_dirs, я назвал их cat_thumb_i2 и т.д. до 5.
2) Корректируем файл e2g.module.class.php, добавляем после
$numFile = @mysql_num_rows($querySelectFiles);
if ($numFile > 0) {
$childrenFiles = array();
$output = '';
$catThumbId = $this->getDirInfo($this->sanitizedGets['dir_id'], 'cat_thumb_id');
while ($l = mysql_fetch_assoc($querySelectFiles)) {
// DISPLAY
$selected = $l['id'] == $catThumbId ? 1 : 0;
$output .= '
<option value="' . $l['id'] . '"'
. ( isset($jsActions) ? ' ' . $jsActions : '' )
. ( $selected ? ' selected="selected"' : '' )
. '>';
$output .= ' ' . $l['filename'] . ' [id:' . $l['id'] . ']';
$path = $this->getPath($l['dir_id']);
$img= $this->imgShaper($l['dir_id'], $this->e2gModCfg['dir'] . $path . $l['filename'], 30, 30, 90 );
if ($img)
$output = '<img src="'.$img.'" />';
$output .= '</option>';
}
mysql_free_result($querySelectFiles);
}
такие же конструкции только меняем cat_thumb_id на наши, вставляем такую конструкцию столько раз и с такими номерами сколько надо вывести на сайте.
3) в этом же файле ищем
if (!empty($post['thumb_id'])) {
$updates[] = 'cat_thumb_id = \'' . $post['thumb_id'] . '\'';
}
и так же дублируем несколько раз, заменяя cat_thumb_id и thumb_id на наши, с номерами в конце
4) в файле file.edit_dir.inc.php
после строк
<tr>
<td valign="top"><b><?php echo $this->lng['dir_thumb']; ?></b></td>
<td valign="top"><b>:</b></td>
<td>
<input name="thumb_id" type="text" value="<?php echo $row['cat_thumb_id']; ?>" size="5" />
<select name="thumb_id">
<option value=""> </option>
<?php echo $this->_fileDropDownOptions($row['cat_id'], $row['cat_thumb_id']); ?>
</select>
</input>
<i><?php echo $this->lng['dir_thumb_desc']; ?></i>
</td>
</tr>
добавляем такие же, но с нашими номерами.
5) создаем сниппет и вставляем такой код
<?php
$modx->db->connect();
$userstable = "modx_easy2_dirs";
$res=mysql_query("SELECT COUNT(*) FROM $userstable");
$row=mysql_fetch_row($res);
$total=$row[0];
$query = "SELECT * FROM $userstable LIMIT 0,$total"; //чтение фото
$res = mysql_query($query) or die(mysql_error());
$i=0;
while($row=mysql_fetch_array($res)) // чтение id картинок
{
$id[$i]=$row['cat_id'];
$dir[$i]=$row['cat_name'];
$opis[$i]=$row['cat_alias'];
$t[$i]['1']=$row['cat_thumb_id'];
$t[$i]['2']=$row['cat_thumb_id2'];
$t[$i]['3']=$row['cat_thumb_id3'];
$t[$i]['4']=$row['cat_thumb_id4'];
$t[$i]['5']=$row['cat_thumb_id5'];
$i++;
}
$userstable = "modx_easy2_files"; // чтение свойств картинок
for ($i=1; $i<=$total-1; $i++)
{
echo "<div class=\"photo-wrap\"><p><a href=\"[~43~]?gid=$id[$i]\"> $opis[$i]</a></p>";
echo "<ul>";
for ($j=1; $j<=5; $j++)
{
$tv=$t[$i][$j];
$query = "SELECT * FROM $userstable WHERE id='$tv'"; //чтение фото
$res = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($res))
{
$idp[$i][$j]=$row['id'];
$fname[$i][$j]=$row['filename'];
$iv=$idp[$i][$j];
$fiv=$fname[$i][$j];
$fiv1= substr($fiv, 0, strpos($fiv,'.')).'_mod_65x65.jpg'; //выведет "прим"
$fname[$i][$j]=$fiv;
echo "<li><img src=\"assets/images/gallery/_thumbnails/$dir[$i]/$fiv1\"></li>";
}
}
echo "</ul></div>";
}
$modx->db->disconnect();
?>
вызываем его на странице заменяя мои данные своими.
На той странице где вызвали создаем дочерний ресурс и на нём вызываем некешируемым easy2,
подставляем в сниппет id на дочерний ресурс.
Теперь при редактировании папки появится пять вариантов эскизов, и они выведутся потом со сниппетом.
Не ругайте за код) В php не очень, сделал как мог))
Минусов конечно много, но пока другого решения не вижу.