Search

Funny how often ppl say that in open source projects and the feature still won't show up for ages if ever.

We're exploring ways of crowdfunding extension in the future, but the development of the system itself won't be (and shouldn't be) driven by who's willing to pay for what.

the development of the system itself won't be (and shouldn't be) driven by who's willing to pay for what.

Point taken, but the point never was about using money to decide the direction of the project but the priority of things on back burner.

And if enough people is willing to pay for things deemed nice-to-have, then it could be discovered that they are actually must-haves.

I'd defo contribute to some tuts and development of (voted for: must-haves).

@Shaw: Gotcha.

As I said, we've been looking into this and are open to suggestions.

I did something like this in XSLT recently for a project. A client project required to be able to structure entries in a tree structure, and having limited time, I simply added a Select Box Link field called "parent", and used the following XSLT to structure the menu:

<xsl:template name="get-articlesmenu">
    <ul>
        <xsl:for-each select="/data/site-articles-menu/entry">

            <xsl:call-template name="render-articlesmenu-item">
                <xsl:with-param name="item" select="."></xsl:with-param>
            </xsl:call-template>

        </xsl:for-each>
    </ul>
</xsl:template>

<xsl:template name="render-articlesmenu-item">
    <xsl:param name="item"></xsl:param>
    <xsl:param name="not-root-level" select="false()"></xsl:param>

    <!-- Only print out first level nodes -->
    <xsl:if test="$not-root-level or count($item/parent) = 0"> 

        <xsl:variable name="title">
            <xsl:choose>
                <xsl:when test="$item/menu-title">
                    <xsl:value-of select="$item/menu-title"></xsl:value-of>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$item/title"></xsl:value-of>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>

        <xsl:variable name="href">
            <xsl:value-of select="$root"></xsl:value-of>
            <xsl:text>/article/</xsl:text>
            <xsl:value-of select="$item/title/@handle"></xsl:value-of>
        </xsl:variable>


        <!-- Make the list item -->
        <xsl:element name="li">
            <xsl:if test="$siteMode = 'articles' and $article-title = $item/title/@handle">
                <xsl:attribute name="class"><xsl:text>marked</xsl:text></xsl:attribute>
            </xsl:if>

            <a href="{$href}"><xsl:value-of select="$title"></xsl:value-of></a>

            <!-- Render its children -->
            <xsl:variable name="children" select="/data/site-articles-menu/entry/parent/item[@handle = $item/title/@handle]/../.."></xsl:variable>
            <xsl:if test="count($children) &gt; 0">
                <ul>
                    <xsl:for-each select="$children">
                        <xsl:call-template name="render-articlesmenu-item">
                            <xsl:with-param name="item" select="."></xsl:with-param>
                            <xsl:with-param name="not-root-level" select="true()"></xsl:with-param>
                        </xsl:call-template>
                    </xsl:for-each>
                </ul>
            </xsl:if>
        </xsl:element>

    </xsl:if>

</xsl:template>

It was all done relatively quickly.

Of course, you don´t get hieratical URLs and it isn´t tree-structured in the admin panel, but it is at least something...

HTML Panel Field could be used to render the pages in the backend like what's posted in the first post?

Not sure what you mean, how might you use HTML Panel for this?

Just realised, the Panel field is attached to section entries not the overall view of section entries.. Was thinking of a front end page called sitemap and have the XSLT spit out a Unordered list of section entries titles as pages in a structure like the first post.. Then use HTML Panel field in backend for presentation of Section entries..but HTML panel field is used inside a section entry so doesn't work like I imagined it would.

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