/lesprojets création class d'après titre node-site
This commit is contained in:
@@ -949,6 +949,21 @@ $(document).ready(function () {
|
|||||||
////////////////// end class à view-rows-wrapper ////////////////
|
////////////////// end class à view-rows-wrapper ////////////////
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////// start class site ///////////
|
||||||
|
document.querySelectorAll('.views-field-title h2').forEach(h2 => {
|
||||||
|
const text = h2.textContent.trim();
|
||||||
|
const className = text
|
||||||
|
.toLowerCase()
|
||||||
|
.normalize('NFD') // retire les accents
|
||||||
|
.replace(/[\u0300-\u036f]/g, '') // idem
|
||||||
|
.replace(/[^a-z0-9]+/g, '-') // remplace espaces et ponctuation par des tirets
|
||||||
|
.replace(/(^-|-$)/g, ''); // supprime les tirets en début/fin
|
||||||
|
|
||||||
|
h2.classList.add(className);
|
||||||
|
});
|
||||||
|
////////////////end class site ////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
})(jQuery, window);
|
})(jQuery, window);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -891,6 +891,21 @@ $(document).ready(function () {
|
|||||||
////////////////// end class à view-rows-wrapper ////////////////
|
////////////////// end class à view-rows-wrapper ////////////////
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////// start class site ///////////
|
||||||
|
document.querySelectorAll('.views-field-title h2').forEach(h2 => {
|
||||||
|
const text = h2.textContent.trim();
|
||||||
|
const className = text
|
||||||
|
.toLowerCase()
|
||||||
|
.normalize('NFD') // retire les accents
|
||||||
|
.replace(/[\u0300-\u036f]/g, '') // idem
|
||||||
|
.replace(/[^a-z0-9]+/g, '-') // remplace espaces et ponctuation par des tirets
|
||||||
|
.replace(/(^-|-$)/g, ''); // supprime les tirets en début/fin
|
||||||
|
|
||||||
|
h2.classList.add(className);
|
||||||
|
});
|
||||||
|
////////////////end class site ////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
})(jQuery, window);
|
})(jQuery, window);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,8 +29,12 @@
|
|||||||
{% if field.wrapper_element %}</{{ field.wrapper_element }}>{% endif %}
|
{% if field.wrapper_element %}</{{ field.wrapper_element }}>{% endif %}
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
{# --- Your single new wrapper just for the 4 fields --- #}
|
|
||||||
<div class="views-field-group">
|
{% set raw_title = fields.title.content|striptags|trim %}
|
||||||
|
{% set title_first = raw_title|split(',')|first|trim %}
|
||||||
|
{% set title_slug = title_first|clean_class %}
|
||||||
|
|
||||||
|
<div class="views-field-group {{ title_slug }}">
|
||||||
{% for name in main_fields %}
|
{% for name in main_fields %}
|
||||||
{% if fields[name] is defined %}
|
{% if fields[name] is defined %}
|
||||||
{{ m.render_field(fields[name]) }}
|
{{ m.render_field(fields[name]) }}
|
||||||
@@ -38,9 +42,10 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{# Render everything else exactly as before #}
|
|
||||||
{% for name, field in fields %}
|
{% for name, field in fields %}
|
||||||
{% if name not in main_fields %}
|
{% if name not in main_fields %}
|
||||||
{{ m.render_field(field) }}
|
{{ m.render_field(field) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user