Expand my Community achievements bar.

SOLVED

Column Control - Column Layout has no values

Avatar

Former Community Member

Good morning.

Dragged the column control into a component region on my page.
I select the control, and select the "Edit" option.

The Column Layout selector, should present me with
a few layout options.

Unfortunately the column layout selector is empty,
as the attached screenshot will show.

Any ideas?

Kind regards
Toby

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Hi there.

I found the problem.

Was a mismatch between the column names in the stylesheet.
And the names for the columns in the layouts node on the design dialogue.

My mistake.

Thanks for taking the time to look at the query.

Kind regards
Toby

View solution in original post

6 Replies

Avatar

Employee

I just checked and it works fine for me.

I checked 6.0, assuming that's the version you're using.
Can you clear your cache and try again ?

Avatar

Former Community Member

Indeed, using CQ6 as of today.

Unfortunately, no luck. I tried creating a column control through the geometrixx demo site.
And the different column options are indeed present in the layout selector.

Therefore, something is not right with my site setup.

I have a  simple template:
<%@include file="/libs/foundation/global.jsp"%>

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Column Control</title>
        <link rel="stylesheet" href="https://forums.adobe.com/etc/designs/ColumnControl/css/styles.min.css">
        <cq:include script="/libs/wcm/core/components/init/init.jsp"/>
    </head>
    <body>

        <cq:include path="header" resourceType="ColumnControl/components/page/HeaderPage" />

        <div class="content__body">
            <cq:include path="card-container-1" resourceType="foundation/components/parsys" />
        </div>

    </body>
</html>

 

Looking through the column control source code:
libs/foundation/components/parsys/colctrl/layoutdatasource/layoutdatasource.jsp

Think this is my problem:

String layouts = contentStyle.get("layouts",String.class); // if no layout are set if (layouts == null || layouts.equals("")){ // return empty data source request.setAttribute(DataSource.class.getName(), EmptyDataSource.instance()); return; }

It cannot access the layouts properties.

 

Thanks for your assistance.

Kind regards
Toby

Avatar

Employee

Then something is probably wrong with your CSS file.

You link to /etc/designs/ColumnControl/css/styles.min.css in your template, the problem is most likely there. 

Avatar

Former Community Member

Hi there.

Why would a CSS template prevent a control from populating a list?
I have removed the CSS and JS imports into the website.

And still no luck. Like I said, the problem is that the column layout
options are not being populated.

String layouts = contentStyle.get("layouts",String.class);

 

JSON data returned:
ColumnControl/en/Test/jcr:content/card-container-1/colctrl.style.json/layouts

{}

ColumnControl/en/Test/jcr:content/card-container-1/colctrl.infinity.json

{"jcr:primaryType":"nt:unstructured","jcr:createdBy":"admin","jcr:lastModifiedBy":"admin","jcr:created":"Thu Oct 09 2014 09:07:24 GMT+0200","jcr:lastModified":"Thu Oct 09 2014 09:07:24 GMT+0200","sling:resourceType":"foundation/components/parsys/colctrl"}

Avatar

Employee

Hi

layoutdatasource shows that the layout info is coming from the page design:
Style contentStyle = designer.getStyle(resourceResolver.getResource(slingRequest.getRequestPathInfo().getSuffix()));

Most likely, there is no design associated with your page.

For Geometrixx, there is a property cq:designPath defined here: /content/geometrixx/jcr:content
Maybe you missed adding the cq:designPath property?

Avatar

Correct answer by
Former Community Member

Hi there.

I found the problem.

Was a mismatch between the column names in the stylesheet.
And the names for the columns in the layouts node on the design dialogue.

My mistake.

Thanks for taking the time to look at the query.

Kind regards
Toby

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----