Full Content Swap Images

Permalink
I have enabled full content swap and tested if the import was going correctly. The only part that is not working as intended are the images that are used in my custom blocks.

The fID's are not translated to a file name as is been done for the core blocks. Below you can see the content xml
//custom block
<block type="streamer" name="">
<data table="btStreamer">
  <record>
    <fID><![CDATA[9]]></fID>
  </record>
</data>
</block>
//core block
<block type="image" name="">
  <data table="btContentImage">
    <record>
      <fID>{ccm:export:file:content_01.jpg}</fID>
    </record>
  </data>


I wonder why this is. The database field for the images in my blocks are called fID just like the core blocks.

The db.xml of the block is as follows:
<?xml version="1.0"?>
<schema version="0.3">
  <table name="btStreamer">
    <field name="bID" type="I"><key /><unsigned /></field>
    <field name="fID" type="I">
      <unsigned />
      <default value="0" />
    </field>
  </table>
</schema>


How can I make sure that the images in the custom blocks are included correctly in the content export?

Thanks,

Rge

 
MrKDilkington replied on at Permalink Best Answer Reply
MrKDilkington
Hi rge,

I am not sure about this, but here is an idea.

Are you using the btExportFileColumns property in your custom blocks?

Example:
protected $btExportFileColumns = array('fID');

I see a reference to the property and ContentExporter in the BlockController class.
http://concrete5.org/api/source-class-Concrete.Core.Block.BlockCont...

I did a quick check and it appears that all the core blocks that use files/images include the btExportFileColumns property. The btExportFileColumns property is assigned an array with the variable names of the files/images used by the block.
rge replied on at Permalink Reply
Good find you are right. Tested it and it works.

Thanks allot.