Extending Content Block Error
Permalink
Not sure what happened, but recently my extension of the core content block stopped functioning. It was a simple extension that added an optional heading field to the core content block.
The block is placed in the top level blocks directory (the correct place for custom blocks) in a folder called content. It is basically a direct copy of the core block. It is being picked up fine because custom templates are working as well as changes to the interface width and height within the controller.php. The add.php and edit.php are displaying fine.
Unfortunately the db.xml changes are not happening. Did something change in the latest version that may have broken this?
The block is placed in the top level blocks directory (the correct place for custom blocks) in a folder called content. It is basically a direct copy of the core block. It is being picked up fine because custom templates are working as well as changes to the interface width and height within the controller.php. The add.php and edit.php are displaying fine.
Unfortunately the db.xml changes are not happening. Did something change in the latest version that may have broken this?
<?xml version="1.0"?> <schema version="0.3"> <table name="btContentLocal"> <field name="bID" type="I"> <key /> <unsigned /> </field> <field name="blockHeading" type="X2"> </field> <field name="content" type="X2"> </field> </table> </schema>
That's weird that it was working and all of a sudden stopped... but in general, I don't think schema files can be overridden like that. You would need to create a new block (I mean, it can be basically the same exact thing, but you need to change the controller name and maybe some other things to avoid conflicts).
I am curious as to why we would not be able to extend the content block. Seems like a fairly reasonable thing to do. Any admins feel like chiming in on this. Feels a bit like protecting ourselves from ourselves which, given the nature of the cms seems odd.
I don't think it's anything intentional about "protecting users from themselves". No reason at all, probably, just that no one ever got around to it. C5 is a huge system with tons of moving parts to it. Not everything is perfect (or even complete). It's an open source project though so hopefully over time people keep improving it to address things like this. One way to help is to file a bug about the issue:
http://www.concrete5.org/developers/bugs/...
(I'm not an admin though so that's just my educated guess).
http://www.concrete5.org/developers/bugs/...
(I'm not an admin though so that's just my educated guess).