Использование данных изображения в потоках 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 перед возвратом.