Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Как сделать, чтобы нажав фото альбома перейти в альбом
-
21 ноября 2015 г.
-
Добрый день! Вопрос по фотогалерее. Сейчас на главной фотогалереи по умолчанию есть заголовки и фото альбомов. Кликнув на заголовок переходим в альбом, кликнув на фото альбома получаем большое изображение фотки. Подскажите, плз, где и что поменять в коде (как я понимаю, в phoho.view.first_page), чтобы при нажатии на фото альбома переходить в сам альбом. Я понимаю, что это где-то здесь, но что-то туплю уже несколько часов:
//название альбома
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'" class="photo_cat_link">'.$cat["name"].' ('.$cat["count"].')</a>';
//рейтинг альбома
if (! empty($cat["rating"]))
{
echo '<div class="photo_cat_rating">'.$cat["rating"].'</div>';
}
//вывод изображений альбома
if (! empty($cat["img"]))
{
echo '<div class="photo_cat_img">';
foreach ($cat["img"] as $img)
{
switch($img["type"])
{
case 'animation':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';
break;
case 'large_image':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'">';
break;
default:
echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
break;
}
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">'
.'</a> ';
}
echo '</div>';
}
else
{
//вывод нескольких фотографий из текущей категории (задается в настройках модуля)
if ($cat["rows"])
{
echo '<div class="photo_cat_images">';
echo $this->get('rows','photo',$cat);
echo '</div>';
}
}
Подскажете? Заранее спасибо! -
-
-
-
- Denis (Drachoon)
- 154
-
21 ноября 2015 г. , редакция: 21 ноября 2015 г.
-
Удаляем/коментируем эту строкуКод
echo $this->get('rows','photo',$cat);
и ставим следующееКод
//изображение
if (!empty($row["img"])) {
echo '<a href="' . BASE_PATH_HREF . $cat["link_all"] . '">';
echo '<img src="' . $row["img"]["src"] . '" width="' . $row["img"]["width"] . '" height="' . $row["img"]["height"]
. '" alt="' . $row["img"]["alt"] . '" title="' . $row["img"]["title"] . '">'
. '</a>';
}
:) Вчера делал - думал это другой наш программист придумал - оказывается это теперь такая фича системы. Вон оно что.
Видать это раньше так оно было как в приведёном мной примере. -
-
-
-
21 ноября 2015 г.
-
Денис, можете уточнить, что и куда - у меня последняя версия, поменял в скрипте по вашему способу:
//вывод изображений альбома
// if (! empty($cat["img"]))
// {
// echo '<div class="photo_cat_img">';
// foreach ($cat["img"] as $img)
// {
// switch($img["type"])
// {
// case 'animation':
// echo '<a href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';
// break;
// case 'large_image':
// echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["//link_height"].'">';
// break;
// default:
// echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
// break;
// }
// echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["//title"].'">'
// .'</a> ';
// }
// echo '</div>';
// }
if (!empty($row["img"])) {
echo '<a href="' . BASE_PATH_HREF . $cat["link_all"] . '">';
echo '<img src="' . $row["img"]["src"] . '" width="' . $row["img"]["width"] . '" height="' . $row["img"]["height"]
. '" alt="' . $row["img"]["alt"] . '" title="' . $row["img"]["title"] . '">'
. '</a>';
}
else
{
//вывод нескольких фотографий из текущей категории (задается в настройках модуля)
if ($cat["rows"])
{
echo '<div class="photo_cat_images">';
// echo $this->get('rows','photo',$cat);
echo '</div>';
}
}
Просто пропали фото. Если вас не затруднит, буде благодарен за полный код файла photo.view.first_page заранее огромнейшее спасибо! -
-
-
-
21 ноября 2015 г.
-
Там в админке в настройке, можно сделать, чтобы по фотке в альбом заходить.
Фото у альбома. -
-
-
-
- Denis (Drachoon)
- 154
-
23 ноября 2015 г. , редакция: 23 ноября 2015 г.
-
Ну написал-же
ВместоКод
echo $this->get('rows','photo',$cat);
вставитьКод
//изображение
if (!empty($row["img"])) {
echo '<a href="' . BASE_PATH_HREF . $cat["link_all"] . '">';
echo '<img src="' . $row["img"]["src"] . '" width="' . $row["img"]["width"] . '" height="' . $row["img"]["height"]
. '" alt="' . $row["img"]["alt"] . '" title="' . $row["img"]["title"] . '">'
. '</a>';
}
почему вы закоментировали вот ето я не понялКод
//вывод изображений альбома
// if (! empty($cat["img"]))
// {
// echo '<div class="photo_cat_img">';
// foreach ($cat["img"] as $img)
// {
// switch($img["type"])
// {
// case 'animation':// echo '<a href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';
// break;
// case 'large_image':
// echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["//link_height"].'">';
// break;
// default:
// echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
// break;
// }
// echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["//title"].'">'
// .'</a> ';
// }
// echo '</div>';
// }
У меня файл с этим решением не родной вам он не подойдёт
в итоге если опираясь на приведённый пример выше должно получится следующееКод
//название альбома
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'" class="photo_cat_link">'.$cat["name"].' ('.$cat["count"].')</a>';
//рейтинг альбома
if (! empty($cat["rating"]))
{
echo '<div class="photo_cat_rating">'.$cat["rating"].'</div>';
}
//вывод изображений альбомаif (! empty($cat["img"]))
{
echo '<div class="photo_cat_img">';
foreach ($cat["img"] as $img)
{
switch($img["type"])
{
case 'animation':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';
break;
case 'large_image':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'">';
break;
default:
echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
break;
}
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">'
.'</a> ';
}
echo '</div>';
}
else
{
//вывод нескольких фотографий из текущей категории (задается в настройках модуля)
if ($cat["rows"])
{
echo '<div class="photo_cat_images">';
//echo $this->get('rows','photo',$cat);
//изображение
if (!empty($row["img"])) {
echo '<a href="' . BASE_PATH_HREF . $cat["link_all"] . '">';
echo '<img src="' . $row["img"]["src"] . '" width="' . $row["img"]["width"] . '" height="' . $row["img"]["height"]
. '" alt="' . $row["img"]["alt"] . '" title="' . $row["img"]["title"] . '">'
. '</a>';
}
echo '</div>';
}
} -
-
-
-
26 ноября 2015 г.
-
Всё, вопрос закрыт, всем огромное спасибо за участие в обсуждении и за советы! В итоге техподдержка помогла понять, где я ступил. Надеюсь, это кому-нибудь тоже пригодится. Итоговое решение вопроса:
Цитата... Конечно, там же первым условием идет //вывод изображений альбома - так и написано в комментариях. Это те изображения, которые прикреплены к описанию самой категории, а не фотографии из альбома.
Сами фотографии из альбома выводятся ниже, единой функцией $this->get('rows','photo',$cat); - это отдельный файл photo.view.rows.php и он выводит все списки фотографий. Его править нежелательно, т.к. ссылки с фотографий изменятся везде.
Поэтому мы просто закомментировали вызов той функции извне, а внутрь photo.view.first_page.php перенесли её текст и там поправили ссылки. Сейчас все работает как надо.
Итоговый кусок кода в photo.view.first_page.php:
//вывод изображений альбома
if (! empty($cat["img"]))
{
echo '<div class="photo_cat_img">';
foreach ($cat["img"] as $img)
{
switch($img["type"])
{
case 'animation':
echo '<a href="'.BASE_PATH.$cat["link_all"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';
break;
case 'large_image':
echo '<a href="'.BASE_PATH.$cat["link_all"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'">';
break;
default:
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'">';
break;
}
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">'
.'</a> ';
}
echo '</div>';
}
else
{
//вывод нескольких фотографий из текущей категории (задается в настройках модуля)
if ($cat["rows"])
{
echo '<div class="photo_cat_images">';
//echo $this->get('rows','photo',$cat); //переносим всю функцию сюда и здесь правим ссылку
foreach ($cat["rows"] as $row)
{
echo '<div class="photo_item">';
//вывод маленького изображения
if (! empty($row["img"]))
{
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'" class="photo_image">';
echo '<img src="'.$row["img"]["src"].'" alt="'.$row["img"]["alt"].'" title="'.$row["img"]["title"].'">' .'</a>';
}
//вывод названия и, если используется, ссылки на отдельную страницу фотографии
if (!empty($row["name"]))
{
echo '<div class="photo_name">';
if (!empty($row["link"]))
{
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'" class="photo_link">';
}
echo $row["name"];
if ($row["link"])
{
echo '</a>';
}
echo '</div>';
}
//вывод краткого описания фотографии
if (! empty($row["anons"]))
{
echo '<div class="photo_anons">'.$row['anons'].'</div>';
}
//вывод рейтинга фотографии
if (! empty($row["rating"]))
{
echo '<div class="photo_rate rate">'.$row["rating"] . '</div>';
}
//теги фотографии
if (! empty($row["tags"]))
{
echo '<div class="photo_tags">'.$row["tags"].'</div>';
}
echo '</div>';
}
echo '</div>';
}
}
//краткое описание альбома
if (! empty($cat["anons"]))
{
echo '<div class="photo_cat_anons">'.$cat['anons'].'</div>';
}
echo '</div>';
}
echo '</div>';
Ещё раз всем огромное спасибо! -
-
-
-
26 ноября 2015 г.
-
Почему разработчики бегают ветряками сражаюццо а на такие нужные штуки забивают
-
-
-
-
26 ноября 2015 г.
-
На какие?
-
-
-
-
26 ноября 2015 г.
-
Только сегодня делал, чтобы при нажатие на фото у альбома переходило в раздел, делается 2 минуты.
-
-
-
-
27 ноября 2015 г.
-
См сообщение- Александра Биг Яблоко
-
-
-
-
27 ноября 2015 г.
-
Хотите переделать в коробке, чтобы все фотки из списка вели на альбом, что ли?
-
-
-
-
27 ноября 2015 г.
-
Текущая логика непонятна пользователям - Лучше конечно так как сказал Биг ЭплЦитата"чтобы при нажатие на фото у альбома переходило в раздел"
-
-
-
-
27 ноября 2015 г.
-
Все дело в настройке модуля фоотогалереи, где есть параметр "Количество фотографий выводимых в списке альбомов". Можно поставить 3, например, и тогда будет так, как на скриншоте.
Соответственно, 1) ведет на альбом, а любое нажатие по фотке ведет на каждую фотку. Ведь если сделать ссылку с любой фотки на альбом - это бедт тоже не очень правильно?
Плюс ко всему, не все хотят фотографии на отдельной странице. Кто-то в списке альбомов ставит "Показывать фотографий - 100", и убирает галку "Открывать фотографии на отдельной странице", тогда клик по фоткам из списка альбомов просто увеличивает фотки подряд.
Если сделать безусловным переход из фотографий в списке альбомов вглубь альбома, то отпадает сразу две галки из настроек, как конфликтующие по логике. -
-
-
-
27 ноября 2015 г.
-
этот "кто-то" уж точно не сеошник
-
-
-
-
-
21 ноября 2015 г.
-
В настройках галереи поставьте галку открывать фото на отдельной странице. Хотя по умолчанию она должна быть активна.
-
-
-
-
21 ноября 2015 г. , редакция: 21 ноября 2015 г.
-
Сергей, спасибо за совет, но это не вариант, так как в этом случае все фото В альбомах тоже будут открываться на отд страницах. Мне же нужно, чтобы в альбомах фотки окрывались с анимацией (приттифото), а вот с главной фотогалереи при нажатии на фото, соответствующее определенному альбому переход шел именно в раздел с этим альбомом, а не просто большое изо фотки показывалось, как сейчас...
Вопрос в том, что и как правильно поменять в коде, чтобы с фото, соответствующего каждому альбому заменить ссылку на большое изо ссылкой на сам альбом... -
-
-
-
22 ноября 2015 г. , редакция: 22 ноября 2015 г.
-
сейчас у вас там что-то вродеКод//вывод изображений альбома
if (! empty($cat["img"]))
{
echo '<div class="photo_cat_img">';
foreach ($cat["img"] as $img)
{
switch($img["type"])
{
case 'animation':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="prettyPhoto[gallery'.$cat_id.'photo]">';break;
case 'large_image':
echo '<a href="'.BASE_PATH.$img["link"].'" rel="large_image" width="'.$img["link_width"].'" height="'.$img["link_height"].'">';
break;
default:
echo '<a href="'.BASE_PATH_HREF.$img["link"].'">';
break;
}
echo '<img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">'
.'</a> ';
}
echo '</div>';
}
Вам необходимо вместо BASE_PATH_HREF.$img["link"] поставить BASE_PATH_HREF.$cat["link_all"] и получится что-то вроде:Код//вывод изображений альбома
if (! empty($cat["img"]))
{
echo '<div class="photo_cat_img">';
foreach ($cat["img"] as $img)
//тут мы убираем switch
{
echo '<a href="'.BASE_PATH_HREF.$cat["link_all"].'"><img src="'.$img["src"].'" width="'.$img["width"].'" height="'.$img["height"].'" alt="'.$img["alt"].'" title="'.$img["title"].'"></a>';
}
echo '</div>';} -
-
-
-
24 ноября 2015 г.
-
Алексей, спасибо, но, к сожалению, это почему-то не сработало. Сделал всё, как вы написали, ничего не поменялось. Скинул кэш - всё равно при нажатии на фотки идёт вывод большого изо...
-
-
-
-
25 ноября 2015 г.
-
Цитатанужно править в /custom/тема/modules/photo/ а дальше файл, напишите какой меняете
Правлю в /custom/sv/modules/photo/views/photo.view.first_page Уже связался с техподдержкой, по их совету добавил в код echo "11111111111"; чтобы убедиться, что меняется то, что нужно - выяснилось, что файл не обновляется... То есть я по тотал коммандеру его обновляю и вижу, что он на 100% обновлён, а на сайте ничего не меняется и 11111111111 тоже нет.
Делаю как положено, то есть с включенным режимом разработки и отключенным кэшированием. Дополнительно ещё и кэш скинул, и в браузере страницу тоже исключительно через ctrl + обновить обновляю. Ботва какая-то. Сейчас жду помощи от техподдержки, как что выяснится - обязательно сюда отпишусь. А за код вам спасибо - он точно правильный, это уже подтвердили! -
-
-
-
26 ноября 2015 г. , редакция: 26 ноября 2015 г.
-
Осмелюсь спроситьу Вас для отображения страницы точно используется данный файл - photo.view.first_page.php.Цитата/custom/sv/modules/photo/views/photo.view.first_page
Скорее всего при отображении у Вас используется совсем другой. Посмотрите в админке или, как долгий вариант, ради эксперемента запихните echo "111", echo "222" и так далее во все вьюшки модуля photo, т.е. какой вариант на странице проявиться - та вьюшка и используется -
-
-
-
21 ноября 2015 г.
-
Интересно, планирует ли диафан переделать модуль фотогалерею?
Замечаю плохую индексацию фоток.
Вордпресс в этом плане рулит. Не знаю почему, но в диафан как-то задушены прямые пути на .jpg. -
-
-
-
21 ноября 2015 г.
-
Это уже давняя тема...
-
-
-
-
- Denis (Drachoon)
- 154
-
23 ноября 2015 г.
-
Да проблеме несколько лет.
-
-
-
-
-
24 ноября 2015 г.
-
Совершенно непонятная проблема. У нас не генерируются картинки, а лежат целиково, в отдельных папочках. Доступны по прямому обращению, отдают 200ОК, в коде указаны правильно. Не известно, что Яндексу не нравится.
-
-
-
Новости
-
18 июня
-
В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
-
24 апреля
-
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
-
12 января
-
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.
Блоги
-
24.04.2024
-
Выпустили новую сборку DIAFAN.CMS 7.1.4.
Блоги
-
12.01.2024
-
В данном руководстве познакомим вас с панелью управления DIAFAN.CMS