We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21417
    • 486 Posts
    Hello,

    I am hoping to use the Dropdown tv type with MultiTV in an Evo site to make it easier for clients to add links to slideshows by selecting from a resource list rather than manually entering the resource number [~6~].

    I have been using this:
    @SELECT pagetitle,id FROM [+PREFIX+]site_content WHERE parent=0 AND published=1 AND hidemenu=0 AND deleted=0 ORDER BY pagetitle ASC


    in the following context in a MultiTV call:
    	'image' => array(
    		'caption' => 'Image',
    		'type' => 'image'
    	),
    	'thumb' => array(
    		'caption' => 'Thumbnail',
    		'type' => 'thumb',
    		'thumbof' => 'image'
    	),	
    	'title' => array(
    		'caption' => 'Title',
    		'type' => 'text'
    	),   
    	'link' => array(
    		'caption' => 'Link',
    		'type' => 'dropdown',
    		'elements' => '@SELECT pagetitle,id FROM [+PREFIX+]site_content WHERE parent=0 AND published=1 AND hidemenu=0 AND deleted=0 ORDER BY pagetitle ASC'
    	)


    a That only provides top level resources, no children. How do you include "unlimited depth" to show children and sub children pages etc as well? I tried DEPTH=0 but it throws an error.

    b Any ideas with this method on how to make the first row in the select box empty, so that there is the ability to not include a link?

    c. Any ideas on how to format the list like in the TINYMCE insert/edit link section with a hierarchical list and all sub levels indented to make is easy to find resources?
    eg
    (empty / blank space to allow non selection}
    Home
    About Us
    Widgets
      Big widgets
        Blue widgets
        Red widgets
      Small widgets
        Blue widgets
      Red widgets
    Contact Us
    etc 

    d. When I use the dropdown option, the resulting link is the actual resource number (eg 6) rather than the alias. Any ideas on how to use page titles in the drop down list (so its user friendly for the client and represents the resource tree), but to include the aliases of links in the output so its consistent with other menus etc

    If the MultiTV row is
    <a href="[+link+]" title="[+title+]"><img src="[+image+]" /></a>

    The current output is
    <a href="6" title="Blue Widgets"><img src="image.jpg" /></a>

    It would be nice to have output of
    <a href="widgets/big-widgets/blue-widgets/" title="Blue Widgets"><img src="image.jpg" /></a>


    Thanks in advance for any assistance.
    [ed. note: nickf08 last edited this post 13 years, 3 months ago.]
      Web design Adelaide
      http://gocreate.com.au
      • 13428 ☆ A M B ☆
      • 1,031 Posts
      Use Quill for that.

      Example:
      'elements' => '@EVAL return $modx->runSnippet("Quill", array("parent"=>"0", "title"=>"pagetitle", "mode"=>"list", "default"=>" ", "depth"=>"5", "showPublishedOnly"=>"1"));'
      
        • 13428 ☆ A M B ☆
        • 1,031 Posts
        And use a MODX tag for creating the link in the output:

        Example:
        <a href="[~[+link+]~]" ... > ... </a>

          • 21417
          • 486 Posts
          Wonderful, thanks Jako!

          Quill takes care of a, b and c.

          And this great tip caters for point d!

          <a href="[~[+link+]~]" ...=""> ... </a>

          Thanks so much.
          [ed. note: nickf08 last edited this post 13 years, 3 months ago.]
            Web design Adelaide
            http://gocreate.com.au