Как вывести небольшую иконку из блога Есть решение

Вывод записей блога. Используется такая конструкция:

{$post.text|strip_tags|truncate:300}

Но эта конструкция не выводит картинку из блога. А мне нужна картинка. Если я не буду использовать strip_tags, тоже не вариант. Я же буду обрезать запись блога, а так не делается.

В общем, есть ли возможность использовать регулярные выражения и некий аналог preg_replace из php?

3 ответа

  • 2

    Я делал у нужного приложения(в моём случае магазин) хэлпер по типу

    <?php
    class shopCustomHelper {
        public function getPostImage($text){
            preg_match('/(<img\ssrc=\".*?\")/', $text, $m);
            if (!empty($m[1])){
                return $m[1]." style=\"height: 210px;\">";
            }
            return false;
        }
    }

    и в нужном месте шаблона вызывал его и получал первый тэг img с нужным размером...
    {$img = shopCustomHelper::getPostImage($post.text)}

    в общем то вариантов много, а этот был самым быстрым для меня.

    • +1
      mymail271@mail.ru mymail271@mail.ru 27 февраля 2016 03:05 #

      Это то что мне нужно. Но как впихнуть такой класс в магазин? Где его нужно сохранить и в каком виде?

      • +1

        Создайте файл wa-apps/shop/lib/classes/shopCustomHelper.class.php с этим содержимым.
        В последствии сюда же можете добавляйть свои кастомные методы, для вызова в шаблонах.

        public function myFunc1($params){
            ...
        }
        public function myFunc2($params){
            ...
        }
        • +1
          mymail271@mail.ru mymail271@mail.ru 27 февраля 2016 03:47 #

          Я работаю через сайт. Я не вижу нигде папок, начинающихся с wa-apps. Я вижу приложение "сайт", и там есть файл-менеджер. Но в нем есть только верхняя папка wa-data. Перерыл почти всю справку, даже видео просмотрел. Может, есть где-то ссылка по которой объясняют все, а не по кусочкам?

          P.S. Да кстати загрузка файлов php туда "не допускается из соображений безопасности".

          Может, есть фтп доступ? Вероятно есть, но я работаю через сайт. Так все-таки можно ли получить фтп доступ, если без него никак?

  • 1

    Даже если теги не убирать, нет уверенности, что тег картинки попадет в первые 300 символов.

    Возможно, стоит попробовать взять плагин, например этот и попробовать его приспособить?

  • 1

    Так а не проще вывести эту картинку через дополнительный параметр для записи?

    Перед {$post.text|strip_tags|truncate:300} ставите:

    {if !empty($post.thumb)}
      <a href="{$post.link}">
        <img src="{$post.thumb}" alt="{$post.title}" />
      </a>
    {/if}

    Можно и на странице записи (файле post.html) тоже этот код добавить, чтобы везде одинаково было.

    А затем в редакторе записи открываете мета, и указываете там:

    thumb=ссылка на изображение

    Изображение можно залить через файл-менеджер приложения сайт.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите