在Pryocms流中使用图像数据

时间:2014-02-05 22:23:07

标签: php mysql pyrocms

我有一个插件,可以为我的pyrocms网站呈现流信息。

我在使用图像文件类型渲染图像时出现问题。

我已经尝试了所有这些并且没有渲染任何东西

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

{{button_img}}在表格中呈现一个id或数字"0faaea3a29919c5",这是图像文件行的ID,但我需要路径或文件名。

这是内置到pyro还是插件需要加入表?

------------------------- EDIT --------------------- -------------

以下是使用插件

中的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 }}"/>

__ _ __ _ __ _ __ _ __ _ ___ 修改 _ __ _ __ < EM> _ __ _ __ _ __ _ __ _

非常感谢你的答案,但我对于放置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;



    }

然后我的lex标签

{{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 个答案:

答案 0 :(得分:1)

通常这应该使用标记{{ field_slug:filename }}。通常我的意思是“如果你使用了流条目驱动程序来获取条目”。

- 已编辑 -

如果您使用自定义模型提取数据,则可以使用“文件”库来获取文件数据:

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

return (array)$file;

这将为您提供包含文件所有内容的对象。由于插件输出/ LEX解析器与数组一起使用,因此您必须在返回之前键入强制转换。

答案 1 :(得分:0)

以下是最终工作的内容

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