фото1||фото1.1||фото2||фото2.2
сделалает массив
фото1||фото1.1||описание1||фото2||фото2.2||описание2.2
и выведет поэлементно его значения типа
$foto[$i]
$foto[$k]
$foto[$alt]
Спустя 6 минут, 24 секунды (11.09.2010 - 00:27) waldicom написал(а):
А откуда описание берется?
И что (какие значения) должно вывестись на экран при выводе
$foto[$i]
$foto[$k]
$foto[$alt]
И что (какие значения) должно вывестись на экран при выводе
$foto[$i]
$foto[$k]
$foto[$alt]
Спустя 16 часов, 48 минут, 51 секунда (11.09.2010 - 17:15) tgf написал(а):
<?php
$tv_value = $modx->getTemplateVarOutput(array("cottimgs"));
$pictures = explode("||", $tv_value['cottimgs']);
$output = "<ul id=\"columns\">";
$i = 0; $j = 1; $alt = 2;
$docid = $modx->documentIdentifier;
$doc = $modx->getDocument($docid, 'longtitle', 1);
while ($i < (count($pictures) -1))
{
//проверяем размер массива
$str = $pictures[2];
$substr_count = substr_count($str,".jpg");
//////
//////
//если массив вдуеллементный
//////
//////
if ($substr_count > 0)
{
$alt_img = $doc["longtitle"];
// делаем его триеллементным
$tbl_site_tmplvar_contentvalues = $modx->getFullTableName('site_tmplvar_contentvalues');
//новый массив
$pic=$tv_value['cottimgs'];
$pictures[$alt]="|-- |";
$new_value = $pictures;
$sql = "UPDATE $tbl_site_tmplvar_contentvalues SET value='$new_value' WHERE tmplvarid = '7' and contentid='$docid'";
$rs = $modx->db->query($sql);
if ($rs) {echo "<p align=center>ОНОВЛЕНОО для ID $docid!</p>";}
}
//если масив с 3-х елллементов - ниче не делаем
else
{
$alt_img = $pictures[$alt];
}
//
$output .= "<li><a href=\"".$pictures[$i]."\" class=\"highslide\" onclick=\"return hs.expand(this)\">
<img src=\"".$pictures[$j]."\" alt=\"".$alt_img."\" title=\"Click to enlarge\" height=\"155\" width=\"220\"></a>
</br> опис: "
.$alt_img." </li>";
//для двох елем. масива
if ($substr_count > 0)
{
$i = $i + 2;
$j = $j + 2;
$alt = $alt+2;
}
// для трох елем. масива
else
{
$i = $i + 3;
$j = $j +3;
$alt = $alt+3;
}
}
//конец цыкла
$output .= "</ul>";
echo $output;
?>
вот что-то такое получилось.
вобщем в чем смысл: есть масив, описаный мной выше. в нем инфа для галереи: маленькая картинка || большая картинка.
надо к каждой фотке добавить описание. Скрипт должен определить, есть ли уже описание, или нет. если есть, то он присвоит переменной $alt_img значение $pictures[$alt] (или $pictures[3]) с массива, если нет, просто добавит элемент $pictures[3] со значением "-- " тоесть, код пробела.
А потом, при выводе картинки надо посмотреть если элемент $pictures[3] равняется "-- " то в поле ALT картинки вставить значение $doc["longtitle"], если же там иное описание - вставить именно его. Думаю я ясно выразился....
Спустя 3 минуты, 16 секунд (11.09.2010 - 17:19) Michael написал(а):
будь добр в дальнейшем сам пользоваться кнопками форматирования кода.
Спустя 1 минута, 23 секунды (11.09.2010 - 17:20) tgf написал(а):
Спасибо, мой втык
Спустя 1 день, 21 час, 9 минут, 9 секунд (13.09.2010 - 14:29) tgf написал(а):
так что, никто не поможет?