Skip to content

Settings

Export Settings

Is possible export all the current settings for the current version using:

shell
$ ./app/admin/console app:settings:export --path /var/www/tmp

Or you can enumerate in admin using:

js
console.log(
    $('.panel-heading.group h4')
        .get()
        .map(e =>
            "### " + $(e).text().trim() + "\n\n" +
            $(e)
                .parent()
                .parent()
                .find('.panel-heading.setting h4')
                .get()
                .map(y =>
                    "#### " +
                    $(y)
                        .text()
                        .replace(/[\n\r]/gm, ' ')
                        .replace(/^([^\/]+).*/, '$1')
                        .trim() +
                    "\n\nTODO\n\n"
                )
                .join()
        )
        .join()
);

Current settings

ads

ads.txt

TODO

seo

word-count-config

TODO

robots.txt

TODO

robots_admin.txt

TODO

manifest.json

TODO

home-tags

TODO

category-tags

TODO

default

TODO

author-meta

TODO

tag-meta

TODO

tag-index-meta

TODO

search-meta

TODO

letter-meta

TODO

img-rss

TODO

img-rrss-default

TODO

static-article-meta

TODO

article-meta

TODO

amp-article-meta

TODO

microformat-organization

TODO

misc

custom-translations

TODO

sources

TODO

extra

It is a generic configuration (JSON) to be able to store values required for the project or in which it is not worth creating a specific setting:

Values currently used by the Xalok Go base would be:

  • redis, some options about redis.
    • listing, related to listings and searches.
      • authors, related to authors.
        • withCheckers, if true, the redis lists for authors contains also the checkers users.
  • tracking, some options about page views tracking
    • default, if false, the default img for tracking will not rendered.

For example:

json
{
    "redis": {
        "listing": {
            "authors": {
                "withCheckers": true
            }
        }
    }
}

templates

Allows you to control which templates will be used where and associated behaviors:

  • page-templates, indicates which types of content will be activated.
    • key, the name of the template type.
      • sitemap-news, information related to treatment in sitemaps.
        • enabled, indicates whether the content type is enabled or not.
      • initializers, allows the specification of a variable that will be used as a sub-template element. This variable will be used as a parameter in the query during content creation /content/new?initializer=entrevista and can be specified with _ for module initialization in default-layouts-modules setting.
  • boards, indicates what types of content can be used in each type of module.
    • key, indicates the group of boards that is configured.
      • template, the name of the type of template that will be enabled.
      • title, the title that will be displayed in the module selector.
  • articles, indicates which components will be used in each content type.
    • key, the name of the template type.
      • components, contains the configuration of the components.
        • component, the name of the component.
          • enabled, indicates whether the component is enabled or not.
  • listings, contains the automatic listings that will be displayed. If not specified, all listings will be displayed.
    • list, contains the listing configuration.
      • configuration, in the case of the more_without_images listing, it contains the open property that indicates which element will be displayed in the list before the title (supratitle or category). The default value is supratitle.
json
{
  "page-templates": {
    "default": {
      "sitemap-news": {
        "enabled": true
      },
      "initializers": {
        "entrevista": {}
      }
    },
    "opinion": {
      "sitemap-news": {
        "enabled": true
      }
    },
    "gallery": {
      "sitemap-news": {
        "enabled": true
      }
    },
    "video": {
      "sitemap-news": {
        "enabled": true
      }
    },
    "mam": {
      "sitemap-news": {
        "enabled": true
      },
      "initializers": {
        "deportivo": {}
      }
    },
    "obituary": {
      "sitemap-news": {
        "enabled": true
      }
    },
    "static": {
      "sitemap-news": {
        "enabled": false
      }
    },
    "catmockup": {
      "sitemap-news": {
        "enabled": false
      }
    }
  },
  "boards": {
    "home-boards": [
      {
        "template": "board/home/freelayout",
        "title": "Layout manual"
      },
      {
        "template": "board/home/opening",
        "title": "Noticia destacada manual"
      },
      {
        "template": "board/home/listing",
        "title": "Automático con publicidad"
      },
      {
        "template": "board/home/auto",
        "title": "Automático"
      },
      {
        "template": "board/home/branded",
        "title": "Branded"
      },
      {
        "template": "board/home/freehtmlfull",
        "title": "HTML libre"
      },
      {
        "template": "board/home/threecolumns",
        "title": "HTML libre - tres columnas"
      },
      {
        "template": "board/home/custom",
        "title": "Módulo personalizado"
      }
    ],
    "category-boards": [
      {
        "template": "board/home/freelayout",
        "title": "Layout manual"
      },
      {
        "template": "board/home/opening",
        "title": "Noticia destacada manual"
      },
      {
        "template": "board/home/listing",
        "title": "Automático con publicidad"
      },
      {
        "template": "board/home/auto",
        "title": "Automático"
      },
      {
        "template": "board/home/branded",
        "title": "Branded"
      },
      {
        "template": "board/home/freehtmlfull",
        "title": "HTML libre"
      },
      {
        "template": "board/home/threecolumns",
        "title": "HTML libre - tres columnas"
      },
      {
        "template": "board/home/custom",
        "title": "Módulo personalizado"
      }
    ],
    "tag-boards": [
      {
        "template": "board/home/freelayout",
        "title": "Layout manual"
      },
      {
        "template": "board/home/opening",
        "title": "Noticia destacada manual"
      },
      {
        "template": "board/home/listing",
        "title": "Automático con publicidad"
      },
      {
        "template": "board/home/auto",
        "title": "Automático"
      },
      {
        "template": "board/home/branded",
        "title": "Branded"
      },
      {
        "template": "board/home/freehtmlfull",
        "title": "HTML libre"
      },
      {
        "template": "board/home/threecolumns",
        "title": "HTML libre - tres columnas"
      },
      {
        "template": "board/home/custom",
        "title": "Módulo personalizado"
      }
    ]
  },
  "articles": {
    "default": {
      "components": {
        "membership": { "enabled": false },
        "despiece": { "enabled": false }
      }
    },
    "gallery":{
      "components": { ... }
    },
    "receta":{
      "components": { ... }
    },
    "static":{
      "components": { ... }
    },
    "video":{
      "components": { ... }
    },
    "opinion":{
      "components": { ... }
    },
    "mam":{
      "components": { ... }
    }
  },
  "listings": {
    "wireframe_a_4_contents": {},
    "wireframe_d_5_contents_opinion": {},
    "author_details": {},
    "list_color": {},
    "two_columns": {},
    "more_without_images": { "open": "supratitle" },
    "wireframe_b_6_contents": {},
    "obituary": {},
    "three_columns": {},
    "four_columns": {},
    "home": {},
    "secondary": {},
    "search-main": {},
    "wireframe_c_10_contents": {}
  }
}

image-metadata-cache

TODO

content-access-level

TODO

default-layouts-modules

This setting allow us to specify what modules should be initialized on a new content creation

json
{
    "article": {
        "mam_deportivo": {
            "__roles": [
                "sponsor",
                "title",
                "epigraph",
                "detailtop_extra",
                "main_image",
                "main_content_generic",
                "author_location",
                "paragraph",
                "content"
            ],
            "detailtop_extra": {
                "__roles": [
                    "score_block",
                    "mamTimeFormat"
                ],
                "mamTimeFormat": {
                    "type": "string",
                    "format": "#'"
                }
            },
            "content": {
                "__settings":
                {
                    "contentType": "deportivo"
                }
            }
        }
    }
}

From the above example, it can be seen that within the article section, we specify the roles of the modules that should be initialized during the initial rendering of the mam_deportivo initializer value (or template name). Additionally, we can specify the default content for each of the specific modules. In the example, we are specifying the content of the detailtop_extra module, which we want to initialize with the score_block submodule.

Setting value can also be initialized with this setting as shown with "content" element. The setting by the name "contentType" (a class setting in this case) would have the value "deportivo".

Role Property as Setting

Based on the previous example, it can be observed that in detailtop_extra.__roles we are including mamTimeFormat. This name does not correspond to any module role but is used as a configuration storage box to later retrieve within the content module and have information about the correct formatting of the "time" field.

This same configuration will be used for validating the value of the time field in the content element based on the format specified in format.

The format property can be a String or Array in the case of using multiple languages. In the multilingual scenario, a separate format is expected for each language available in the CMS.

json
"mamTimeFormat": {
    "type": "string",
    "format": {
        "es": "# minutos",
        "en": "#'",
        "ca": "# minutes"
    }
}

slug-format

TODO

javascript

html-404-topa

TODO

html-home-topa

TODO

html-home-topb

TODO

html-admin-header

TODO

html-home-topc

TODO

TODO

html-category-topa

TODO

html-category-topb

TODO

html-category-topc

TODO

html-page-topa

TODO

html-page-topa-amp

TODO

html-page-topb

TODO

html-page-default-topb

TODO

html-page-receta-topb

TODO

TODO

html-page-video-topb

TODO

html-page-mam-topb

TODO

html-page-opinion-topb

TODO

html-page-catmockup-topb

TODO

html-page-obituary-topb

TODO

html-page-static-topb

TODO

html-page-topc

TODO

html-page-default-topc

TODO

html-page-receta-topc

TODO

TODO

html-page-video-topc

TODO

html-page-mam-topc

TODO

html-page-opinion-topc

TODO

html-page-catmockup-topc

TODO

html-page-obituary-topc

TODO

html-page-static-topc

TODO

html-page-bodya

TODO

html-page-bodyb

TODO

html-page-bodya-amp

TODO

html-page-bodyb-amp

TODO

html-page-style-amp

TODO

html-author-topa

TODO

html-author-topb

TODO

html-author-topc

TODO

html-search-topa

TODO

html-search-topb

TODO

html-search-topc

TODO

html-temas-topa

TODO

html-temas-topb

TODO

html-temas-topc

TODO

html-letter-topa

TODO

html-letter-topb

TODO

html-letter-topc

TODO

html-tag-topa

TODO

html-tag-topb

TODO

html-tag-topc

TODO

html-archive-topa

TODO

html-archive-topb

TODO

html-archive-topc

TODO

html-layout-html

TODO

html-layout-header-top

TODO

html-layout-header

TODO

html-layout-extra-css

It allows adding extra styles to the text editor, they are injected in JavascriptController::getEditorStylesheets:

css
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,400;0,700;1,700&family=Roboto:wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap'); 
.wf-iframed-editor .wf-editor [wf-role="tags"]  {display:none;}

php

php-page-post-render

TODO

php-controller-subscriber

TODO

php-newsletter-article-render

TODO

php-sitemap-onstart

TODO

php-sitemap-onstart-config

TODO

didomi

didomi-apikey

TODO

analytics

google-tagmanager-script

TODO

google-tagmanager-noscript

TODO

snippets

TODO

snp-404

TODO

snp-header-bottom

TODO

snp-wall-top

TODO

snp-sky-left

TODO

snp-sky-right

TODO

snp-megabanner

TODO

snp-roba

TODO

snp-roba-2

TODO

snp-roba-3

TODO

snp-roba-3-amp

TODO

snp-roba-4

TODO

snp-roba-5

TODO

snp-roba-6

TODO

snp-roba-7

TODO

TODO

snp-comment-count-html

TODO

snp-comment-home

TODO

template

template-html-header-content

TODO

template-html-header-home

TODO

TODO

TODO

TODO

template-html-article-maincolumn-end

TODO

template-html-category-title

TODO

template-html-newsletter-style

TODO

template-html-newsletter-header

TODO

TODO

template-add-megabanner-amp

TODO

template-add-sticky-amp

TODO

template-json-microf-default

TODO

template-json-microf-receta

TODO

TODO

template-json-microf-video

TODO

template-json-microf-static

TODO

template-json-microf-opinion

TODO

template-json-microf-mam

TODO

template-json-microf-breadcrumbs

TODO

template-json-microf-collection

TODO

template-module-video-config

TODO

template-module-score-config

TODO

template-module-mamcontent-config

TODO

password

password-min-length

TODO

password-expires-days

TODO

password-notice-days

TODO

password-expires-email-subject

TODO

password-expires-email-body

TODO