Including standard content
I can get it to show up on all pages using the Page Type defaults and adding it there, but that only works for pages created after the block is added to the page type, and it also doesn't propagate changes to pages using that page type.
This seems like a critical piece, but I can't find a way to do it. Any help?
Unfortunately there's not such way at the moment. The only thing you can do, is to create an element in your theme that contains the content of the footer.
This would of course mean, that you have to update that file (using ssh, ftp or whatever)
Once you add it to "defaults", click on the block you just added. You should see "Setup on Child Pages" as an option.
If you select this you should see a list of all pages in your site that share this page type. Then there are check boxes that show which pages of this type this block shows up on. If you _just_ added this block then it probably won't be on any of them. Select all the pages using the check box in the header, or select individual pages, and click save. The block should then be aliased out to those pages.
Changing the block in the "defaults" section should then propagate its changes out to all the ones you've selected (as well as automatically be added to new pages of that type.) If you change the block on any of the child pages, it'll override those settings and create a new instance of the block.
I don't want to let my users have access to all dashboard options...
I think there are easier ways to achieve that. At least, you wrote that the idea of this feature is interesting ;-)
In looking into the 'how to create your own blocks' section in the dev docs I noticed that it requires all tables specified in a block's controller to have bID, which would imply that you can't really specify a table that's shared among blocks of the same class but whose records are block-instance independent. That's what I'd envisioned with this type of block. The blocks editor would contain:
- dropdown for selecting an existing content piece
- button to use the selected piece as the include content for the block
- button to delete the selected content piece
- button to create new content piece (w/ name textbox) which adds the new piece to the list
- button to edit the selected content piece (loads into the rich text editor w/ save button)
But a better way might be adding an Includes tab to the C5 dashboard and putting user/group privileges on individual include pieces. The editing of the content would take place in the dashboard, and the Include block editor would then be a simple dropdown.
For now I'll use the methods you've given, but I really think this would be handy for people who need to grant non-admin users the ability to edit 'included' content on pages. DRY content and all that. Thanks much, by the by, for the quick and helpful responses.
check out wizards. Andy might step in and tell me, "actually thats completely gone" but in the previous version of concrete we had a way to turn "wizard" permission on for a particular user or user group, and then a separate set of php files would be called for edit mode on that page if you we're logged in for that user. This is how sites like Indie911.com or SchoolPulse.com have super simple to understand form based UI for their user base, but also in-context editing for their admins.
I would love to understand the specifics of your challenge better, I'm always afraid of architecture getting out of control and ending up being confusing and overwhelming for everyone..
In its place we have a pretty solid actual MVC-style framework that makes building forms and special apps much easier.
I edited the block, clearing the image and selecting a new one. After saving the block I used the 'set up on child pages' and selected all pages on the site. In viewing the site it appears that a new block was added, rather than changing the old one, so that both images appear.
Is there a way to just edit rather than adding, and is there a way to remove a block on the page type defaults and have the delete action propagated?
This opens a 'master' template in which anything added to it gets automatically added later on when a new page is created using that Page Type.
This will give you a list of pages that use that specific Page Type. Check all the ones you want to add this block to, then click Update.
What am I missing?
Thanks for the follow-up, though.
and all the other webkit browsers.
what version are you using?
So, I did a clean reinstall. Now it's there. Go figure. Perhaps it was some farfiddle in the permissions schema.