﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
35636	differentiate placeholder and content provider blocks	Yingjie Lan		"The block is a core feature in the template system. Currently, the syntax provides no explicit grammar to differentiate between a placeholder block and a content provider block. In this ticket, an optional and fully backward compatible syntax is proposed to mark a block as a content provider. This new syntax enhances readability, and imposes little effort to implement, and opens the door to allow multiple occurrences of the same block in a single template being given different contents on different conditions (this feature has been requested many times over the years).

Here is the proposed syntax illustrated with an example:


{{{
{% block usertools = %} here are my user tools. {% endblock %}
}}}


Note the equal sign in the end of the block opening mark, which is an optional element added here to indicate that this is not a placeholder, but a content provider for the block named 'usertools' defined somewhere else.

If this syntax is implemented (e.g. by using a boolean property of the block object), the multiple occurrence of such content providers in a single template file can be allowed in the future if deemed desirable.
"	New feature	new	Template system	5.0	Normal		template block	Yingjie Lan	Unreviewed	0	0	0	0	1	0
