Использование данных изображения в потоках Pryocms

У меня есть плагин, который отображает информацию о потоке для моего сайта Pyrocms.

У меня проблемы с рендерингом изображения, загруженного с использованием типа файла изображения.

Я пробовал все это, и никто ничего не рендерит

{{ url:site }}files/thumb/{{ button_img:id }}
{{ button_img:thumb }}
{{ button_img:thumb_img }}
{{ button_img:img }}
{{button_img}}

{{button_img}} предоставляет идентификатор или номер "0faaea3a29919c5" в таблице это идентификатор строки файла изображения, но мне нужен путь или имя файла.

Это встроено в пиро или плагин должен присоединиться к таблице?

-------------------------РЕДАКТИРОВАТЬ------------------------ ----------

Вот массив информации, вызываемой с использованием print_r($data) в плагине

[0] => stdClass Object
        (
            [id] => 2
            [row_id] => 37
            [def_page_fields_id] => 2
            [page_buttons_id] => 2
            [created] => 2014-02-05 16:47:53
            [updated] => 2014-02-05 16:48:07
            [created_by] => 1
            [ordering_count] => 2
            [button_genre] => Visit Us
            [button_hover_text] => Ut eleifend dignissim arcu. Etiam mi velit, pellentesque ac sodales at, iaculis et diam.
            [button_title] => Test Title
            [button_page_link] => /visit-us
            [button_img] => 3dd22710470a16b
        )

Как мне вызвать image.jpg из этой информации?

<img src="{{ url:site }}files/thumb/{{ button_img:id }}" alt="{{ button_img:name }}"/>

__ _ __ _ __ _ __ _ __ _ ___ РЕДАКТИРОВАТЬ _ __ _ __ _ __ _ __ _ __ _ __ _

Большое спасибо за ответ, но я немного растерялся относительно того, куда я поместил 2 строки кода и как должен называться lex.

Вот код плагина

function getRelationship() {

            $id = $this->attribute('pageid', 1);
        $page_slug =  $this->attribute('pageslug');  
        $linktable =  $this->attribute('linktable');  
            $data = $this->db
            ->select('*')
            ->where($page_slug.'.row_id='.$id)
            ->join($linktable, $linktable.'.id = '.$page_slug.'.'.$linktable.'_id')
            ->get($page_slug)
            ->result();

            //Not sure about this $this->load->library('files/files');
            //$file = Files::get_file($id);

            return $data;



    }

А потом мои лекс тэги

{{SitePlugins:getRelationship  pageslug='def_page_fields_page_buttons' pageid=entry_id linktable='page_buttons'}}
<div class=" button_{{id}}">
    <a class="view" href="{{button_page_link}}">
      <h3>{{button_genre}}</h3>
      <h2>{{button_title}}</h2>
    {{ button_img }}
</div>
{{/SitePlugins:getRelationship}}

2 ответа

Решение

Вот что получилось

 <img alt="" class="pyro-image alignment-none" data-pyroimage="true" src="{{ url:site }}files/large/{{team_photo}}" />

Обычно это должно работать с использованием тега {{ field_slug:filename }}, Обычно я имею в виду "если вы использовали драйвер потоковых записей для получения записей".

- отредактировано -

Если вы извлекаете данные с помощью пользовательской модели, вы можете использовать библиотеку файлов для получения данных вашего файла:

$this->load->library('files/files');
$file = Files::get_file($id)

return (array)$file;

Это даст вам объект со всем, что есть у файлов. Поскольку плагин output / LEX parser работает с массивом, вам придется набирать cast перед возвратом.

Другие вопросы по тегам