We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 44909
    • 13 Posts
    Hi!

    Being a modx newbie I first ordered "MODX: The Official Guide". Now that I'm approx. 80% done with the book (great ressource by the way! Thanks!) I'm glad I voted for using modx as our company's next CMS.

    I'm a lead developer at a small company in western germany. From what I've seen from modx I'm completely confident, that none of my staff will face serious trouble using modx. Unfortunately it won't be us developers using modx all the time, but the other departments (e.g. marketing) as well.

    So we aim to make the editor's usage experience as nice as possible. We had a few approaches with other CMS, where all of our content editors had a lot of privileges. This resulted in plugin/addon-mania. Marketing and sales nearly killed the site with new content, styles, "things that could be nice", ..., you name it.

    We'd like to try a different approach with modx this time. The editor should only see the absolutely minimum of input fields in order to run and manage the site. Our web designer was asked to design a very simple template, that could be driven by just a few user inputs:

    Navigation
    ------------------------------------  ----------------
    |Headline 1                        |  | Contact Form |
    |Content 1                         |  |              |
    ------------------------------------  |              |
    |Headline 2                        |  |              |
    |Content 2                         |  |              |
    ------------------------------------  |              |
    |Headline 3                        |  |              |
    |Content 3                         |  |              |
    ------------------------------------  |              |
                                          |              |
    ------------------------------------  |              |
    |       |        |        |        |  |              |
    |Tile 1 | Tile 2 | Tile 3 | Tile 4 |  |              |
    |       |        |        |        |  |              |
    ------------------------------------  ----------------
    


    Each page has three content blocks. Each content block has a title and the actual content.
    No wysiwyg editing allowed, just the headline and a few lines of text. There will be a custom content background image behind the three blocks that can be selected by the editor. Our designer will create a few backgrounds to choose from.

    The contact form is visible on every page and does not change very frequently. The editors do not need to edit it.

    The four tiles just contain a title which links to a page and a background image.
    The editor should be able to choose which title, link and background is used per tile.
    It would be nice if we could define default tiles and override them on a per-page basis.

    As you can see, we really try to separate the responsibilities here. We design the framework, the designer creates background images to choose from and the editors just provide the raw text.

    I learned from the book, that the content part is easy to set up. I'll use template variables and form customisation, so that every ressource shows only the necessary fields.

    The contact form will be a chunk/SPForm combination - the editor does not need to handle this one.

    But what can I do with the tiles?

    The first shot would be to use 4 chunks for the tiles, but I don't wan't the content editors to mess with HMTL input (maybe breaking the layout). Therefor I'd like to use something like template variables, but for chunks.
    I only need a two text inputs (title and Ressource-ID to link to) and a background image dropdown per tile.

    I could use a seperate template and an unpublished ressource as a "container" (similarly to the EZFaq snippet). But somehow mis-using a ressource that way feels wrong.

    I also could add the needed fields to the standard template as tvs and set default values as properties (or leave them empty so that a snippet picks up the default settings). I could even list the "tile setting tvs" on a separate tab using form customisation. That way I could override the default on a per-page setting.

    Maybe I'm overthinking it, but I am really eager to make the editor's first contact with modx hassle free...

    Any insights and shared thoughts are very appreciated!

    Thanks,

    Nico














      • 16551 ☆ A M B ☆
      • 54 Posts
      But somehow mis-using a ressource that way feels wrong.
      Don't think of resources only being pages. Resources are much more and I myself often use them as a container for data, e.g. a page where the customer can change the logo, claim, colors, contact informations, email address, etc. in one place.

      Also check the @INHERIT binding:
      http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/customizing-content/template-variables/bindings/inherit-binding
        • 44909
        • 13 Posts
        Hi!

        Thanks for your quick response. Yes, I stumbled upon the @INHERIT Binding while reading. Thanks for the reminder.

        I'm trying to think of ressources in a wider way... But if I want to use a ressource as a container this way, I need several tvs attached to it. Therefor I need a template. But since I don't really need a template, the template will just be empty. Of course, one can say, if that setup fits my needs, then it's the way to go smiley

        It seems that I definitely need the power of tvs input variability to "please" the editor. So there may be no way around using the "ressource -> template -> custom tvs" chain...
          • 16551 ☆ A M B ☆
          • 54 Posts
          If it works with resources: Go for it! smiley

          You can also take a look at ClientConfig:
          http://rtfm.modx.com/extras/revo/clientconfig
          With this you can define fields (placeholders) that your customer can maintain on a Custom Manager Page.

          Or you could use MIGXdb:
          http://rtfm.modx.com/extras/revo/migxdb
          With this you can create your own xPDO classes that are stored in a custom database table which can also be maintained on a Custom Manager Page.
            • 44909
            • 13 Posts
            Hi!

            ClientConfig looks nice, will look into that!

            Thanks!
              • 4385
              • 372 Posts
              Just use getResources to pull in the content from hidden resource containers.

              <div id="wrapper">
              	<div id="header">
              	[[$Navbar]]
              	</div><!-- #header-->
              	<div id="middle">
              		<div id="container">
              			<div id="content">
              				[[!getResources? &includeTVs=`0` &includeContent=`1` &tvPrefix =`` &tpl=`tpl.Content` &parents=`[[*id]]`]
              			</div><!-- #content-->
              			<div id="tiles">
              				[[!getResources? &includeTVs=`1` &includeContent=`0` &tvPrefix =`` &tpl=`tpl.Tile` &parents=`[[*id]]`]
              			</div><!-- #tiles-->
              		</div><!-- #container-->
              		<div id="sideRight" class="sidebar">
              			[[$Contact]]
              		</div><!-- .sidebar#sideRight -->
              	</div><!-- #middle-->
              	<div id="footer">
              		[[$Footer]]
              	</div><!-- #footer -->
              </div>
              
                DropboxUploader -- Upload files to a Dropbox account.
                DIG -- Dynamic Image Generator
                gus -- Google URL Shortener
                makeQR -- Uses google chart api to make QR codes.
                MODxTweeter -- Update your twitter status on publish.
                • 44909
                • 13 Posts
                Hi!

                Quote from: bwente at Aug 26, 2013, 10:41 PM
                Just use getResources to pull in the content from hidden resource containers.
                --- example snipped ---

                Thanks for the suggestions! Will look into that!

                Greetings

                Nico