/lesprojets création class d'après titre node-site

This commit is contained in:
2025-11-07 15:41:20 +01:00
parent 81fa7dd7bf
commit 75d991c7b0
4 changed files with 39 additions and 4 deletions

View File

@@ -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

View File

@@ -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);

View File

@@ -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 %}