Вход • Регистрация

вывод страницы фото

  • 28 июля 2013 г.
  • народ, подскажите плс, как вывести на страницу фотографии медиум фотку и чтобы при клике открывалась большая, как было в 4.2
    вместо этого
    Код

    //изображение и ссылка на следующее фото
    if (! empty($result["img"]))
    {
    echo '<div class="photo_img">';
    echo (!empty($result["next"])?'<a href="'.BASE_PATH_HREF.$result["next"]["link"].'">':'');
    echo '<img src="'.$result["img"]["src"].'" width="'.$result["img"]["width"].'" height="'.$result["img"]["height"].'" alt="'.$result["img"]["alt"].'" title="'.$result["img"]["title"].'">';
    echo (!empty($result["next"])?'</a>':'');
    echo '</div>';
    }


    голову уже сломал и нифига не получается.
    • 29 июля 2013 г.
    • Это какой модуль у вас? Я тут rel=prettyphoto что-то не наблюдаю.
      • 29 июля 2013 г.
      • это кусок стандартного кода вывода из photo.view.id.php из модуля фотогалереи.
    • 29 июля 2013 г.
    • Это вьюху же Вы указали, там только выводятся результаты. А сами фотографии получаются методом get() в модели.
      Вот, полюбопытствуйте: http://cms.diafan.ru/dokument/full-manual/upmodules/images/
      • 29 июля 2013 г.
      • в том то и дело, что вьюха там по умолчанию берется из - large, т.е. показывает на странице сразу большую фотку, и косяк получается при больших изображениях, которые не вписываются в размеры дизайна.
        • 29 июля 2013 г. , редакция: 29 июля 2013 г.
        • а medium там даже в $result не наблюдается.
          зытык именно в этом, не знаю как вывести именно из medium, к тому же там и размеры нужно будет выводить.
    • 29 июля 2013 г.
    • Я зачастую генерю несколько разных размеров фото, а во вьюхе меняю пути до изображений функцией str_replace, чтобы в модельку дополнительные размеры не пихать.
      • 29 июля 2013 г.
      • $images = $this->diafan->_images->get("medium", $id, "shop", $site_id, "Название товара", false, 2, "large");

        medium - кликабельные картинка в общем списке
        large - те которые нужно открыть после клика (большего размера)
        medium, large - это то что написано в настройках модуля какого формата картинки нужно генерировать.
        А сами форматы настраиваются в модуле изображения.
        • 29 июля 2013 г. , редакция: 29 июля 2013 г.
        • спасибо Денис, но ошибки вылазят, пробовал так
          Код

          print_r ($images = $this->diafan->_images->get("medium", $id, "photo", $site_id, "name1", false, 2, "large"));

          Undefined variable: id
          Undefined variable: site_id
          You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'large' at line 1 query: SELECT id, name, alt1 AS alt, title1 AS title FROM `diafan_images` WHERE module_name='photocat' AND element_id=0 AND param_id=0 AND trash='0' ORDER BY sort ASC LIMIT large
          • 29 июля 2013 г.
          • все, вроди разобрался...
            поменял в photo.model.php
            Код

            $images = $this->diafan->_images->get(
            'large', $row["id"], $this->diafan->module,
            $this->diafan->cid, $row["name"], 0, false, 1
            );


            на
            Код

            $images = $this->diafan->_images->get(
            'medium', $row["id"], $this->diafan->module,
            $this->diafan->cid, $row["name"], 0, false, 1, 'large'
            );



            может кому пригодится
            • 29 июля 2013 г.
            • А без того чтобы в модельку лезть? :)
              • 29 июля 2013 г. , редакция: 29 июля 2013 г.
              • я php знаю поверхностно, поэтому так для меня проще получилось
                а вот сам шаблон вывода
                Код

                if (! empty($result["img"]))
                {
                echo '<div class="photo_img">';
                switch($result["img"]["type"])
                {
                case 'animation':
                echo '<a href="'.BASE_PATH.$result["img"]["link"].'" rel="prettyPhoto[galleryphoto]">';
                break;
                case 'large_image':
                echo '<a href="'.BASE_PATH.$result["img"]["link"].'" rel="large_image" width="'.$result["img"]["link_width"].'" height="'.$result["img"]["link_height"].'">';
                break;
                default:
                echo '<a href="'.BASE_PATH_HREF.$result["img"]["link"].'">';
                break;
                }
                echo '<img src="'.$result["img"]["src"].'" width="'.$result["img"]["width"].'" height="'.$result["img"]["height"]
                .'" alt="'.$result["img"]["alt"].'" title="'.$result["img"]["title"].'">'
                .'</a></div>';
                }

            • 12 ноября 2013 г.
            • Позвольте полюбопытствовать, та же самая хотелка, хочу выводить medium, а по клику large. Что тут означает добавление 'large'?
              И как сделать вместо текущего echo (!empty($result["next"])?'<a href="'.BASE_PATH_HREF.$result["next"]["link"].'">':'');
              вывод ссылки на полноразмерную картинку?
  • 31 июля 2013 г. , редакция: 01 августа 2013 г.
  • вопрос на засыпку
    как отрубить на странице фотографии вывод названия фотки в H1 ?
    т.е. везде есть птичка - убрать вывод, а на фотках - нету

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум