Search

Hi all,

Is there an extension for Symphony which prevents Authors from deleting certain entries?

When I set up a new site, I generally create a section called “Page Content” containing two fields - “Page” and “Content”. The “page” field is a select box of available pages on the site (eg. Home, About, Contact etc), while “content” contains the content for the page, surprisingly.

For every page, I then set up a new entry: eg.

Page: “Home” Content: “Welcome to my new site”

I then create a datasource to pull through the content for the relevant page.

If I then set up an Author in Symphony and tell my client to edit the page content, they have access to delete the “Home” entry, or change the “page” select box so that the “About” content appears on the “Contact Us” page etc.

So what I would like to do is create exactly one entry per page, then prevent the Author from deleting the entry, and prevent them from changing the Page select box.

Is there an extension to do this? Or am I thinking about it the wrong way?

Thanks in advance for your help!

James

Hi James, long time no see!

Would Pages Fields give you what you need?

Hi Nick,

Yes it’s been a while!

I’ll investigate Pages Fields soon, but for now I achieved what I wanted in a slightly hacky way…

In class.administrationpage.php I introduced:

if(!$this->_Parent->Author->isDeveloper()) {
    $this->addStylesheetToHead('/assets/css/symphony.css', 'screen', 70);
    $this->addScriptToHead('/assets/js/symphony.js', 500);
}

Then used CSS and JS to hide the things I didn’t want authors to see.

That will do the trick unless I need to update Symphony (although for this particular project I’m sure I never will).

Fair enough.

For future reference, you should add in your own JS/CSS with your own extension. You could achieve this with an extension that’s only a few lines long, and it means you don’t need to modify core files.

But I’m glad you got the result you were after.

There’s also an extension named “Author Section” which allows you to limit individual authors to view only certain sections.

For future reference, you should add in your own JS/CSS with your own extension.

The ‘Backend Add Script’ does exactly that: it gives you a blank JavaScript- and CSS-file in the backend with some parameters provided so you can apply some JavaScript on some of your pages.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details