Appearance
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.
- withCheckers, if
- authors, related to authors.
- listing, related to listings and searches.
- tracking, some options about page views tracking
- default, if
false
, the defaultimg
for tracking will not rendered.
- default, if
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.
- sitemap-news, information related to treatment in sitemaps.
- key, the name of the template type.
- 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.
- key, indicates the group of boards that is configured.
- 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.
- component, the name of the component.
- components, contains the configuration of the components.
- key, the name of the template type.
- 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.
- list, contains the listing configuration.
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
html-home-footer
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
html-page-gallery-topb
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
html-page-gallery-topc
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
snp-logo
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
snp-footer-top
TODO
snp-comment-count-html
TODO
snp-comment-home
TODO
template
template-html-header-content
TODO
template-html-header-home
TODO
template-html-footer-content
TODO
template-html-footer-detail
TODO
template-html-footer-detail-amp
TODO
template-html-article-maincolumn-end
TODO
template-html-category-title
TODO
template-html-newsletter-style
TODO
template-html-newsletter-header
TODO
template-html-newsletter-footer
TODO
template-add-megabanner-amp
TODO
template-add-sticky-amp
TODO
template-json-microf-default
TODO
template-json-microf-receta
TODO
template-json-microf-gallery
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