Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ancora errore di breadcrumb segnalate da asseveratori #436

Open
2 tasks done
fabricius4 opened this issue Jul 2, 2024 · 7 comments · May be fixed by #461
Open
2 tasks done

Ancora errore di breadcrumb segnalate da asseveratori #436

fabricius4 opened this issue Jul 2, 2024 · 7 comments · May be fixed by #461
Labels
bug Something isn't working

Comments

@fabricius4
Copy link
Contributor

Prerequisiti

Descrivi il problema

gli asseveratori hanno indicato errori sulle breadcrumb come di seguito:

  1. Buone pratiche - attributi obbligatori DOCUMENTO: La pagina https://www.comune.xxx.xx.it/documento_pubblico/documento-pubblico-inizio-mandato/ ha come breadcrumb Home/Documenti pubblici/Modulistica/Documento Pubblico Inizio Mandato mentre dovrebbe essere Home/Amministrazione/Documenti/Modulistica/Documento Pubblico Inizio Mandato nella pagina
  2. Buone pratiche - attributi obbligatori LUOGO: Nella pagina https://www.comune.xxx.xx.it/vivere-il-comune/luoghi/centro-storico/ la breadcrumb è "Home/Vivere il Comune/Centro Storico" mentre dovrebbe essere "Home/Vivere il Comune/Luoghi/Centro Storico" e così anche per gli altre pagine della sezione Luoghi nella pagina
  3. Buone pratiche - attributi obbligatori UFFICIO: La breadcrumb riporta "Home/Amministrazione/Ufficio Ragioneria" mentre dovrebbe essere "Home/Amministrazione/Ufficio/Ufficio Ragioneria" nella pagina

e così via.
E' possibile risolvere definitivamente questo problema? Altrimenti c'è il rischio di non passare

Allego un solo screen come esempio

Includi link o screenshot

Immagine

Su quale sisitema operativo stai riscontrando il problema?

Windows

Su quale browser stai riscontrando il problema?

Qualsiasi

Che versione del tema stai utilizzando?

1.10

@fabricius4 fabricius4 added the bug Something isn't working label Jul 2, 2024
@fabricius4
Copy link
Contributor Author

fabricius4 commented Jul 2, 2024

questa la possibile soluzione che al momento funziona breadcrumb.php

@enrimk
Copy link
Contributor

enrimk commented Jul 2, 2024

Difetto annoso (#398, #408).

La soluzione, a quanto pare, viene complicata da almeno un paio di fattori.

Il primo e principale è che la libreria BreadcrumbTrail è stata integrata inizialmente con delle modifiche che la snaturano e ne rompono il comportamento originario - come correttamente puntualizzato anche nel primo degli issue citati sopra. Con il corollario che tutte le ulteriori toppe e aggiunte per adattarla a tutti i singoli casi particolari confondono il quadro e non ne migliorano l'ordine del codice.

L'altro fattore, penso, è che ad oggi non sono state ancora definite al 100% tutte le pagine che compaiono nei path, come tipo di vista in Wordpress. Cos'è "Luoghi", o "Uffici"? Una page, un archivio? Interpretazione libera?
E comunque, il problema tecnico dipende da scelte diverse in diversi punti, alcune ancora ambigue, ed è difficilmente risolvibile con una singola correzione a un singolo modulo (e infatti le correzioni qui sono... personali, e difficili da condividere su GH).

@enrimk
Copy link
Contributor

enrimk commented Jul 2, 2024

Riassumendo: personalmente, ho risolto togliendo quasi tutte le customizzazioni a BreadcrumbTrail, e correggendone i parametri di configurazione. Ma funziona nel mio setup. Ad esempio, per me "Luoghi", "Eventi" ecc. sono archivi di post type, e i loro tipi, archivi di tassonomia.

@fabricius4
Copy link
Contributor Author

                case 'Vivere il comune' :
                    $this->items[] =  "<a href='".home_url("vivere-il-comune")."'>".__("Vivere il Comune", "design_comuni_italia")."</a>";
					$this->items[] = "<a href='".home_url("vivere-il-comune/luoghi")."'>".__("Luoghi", "design_comuni_italia")."</a>";
                    $this->items[] = get_the_title();
                    return;
                    break; 

come si può adattare questo pezzo di codice a seconda che sia un evento o un luogo?

@enrimk
Copy link
Contributor

enrimk commented Jul 2, 2024

come si può adattare questo pezzo di codice a seconda che sia un evento o un luogo?

Non si può, senza pasticciare e complicare ulteriormente. Per questo, io lì ho cavato via tutto o quasi, da qui a qui. Perché oltretutto, a ben guardare, è anche codice inutile. Ho lasciato giusto i casi delle U.O. e dell'Amministrazione, che sono gruppi "misti".

Per me i tipi luogo ed evento sono semplici archivi di tassonomie, che vengono gestite nativamente da BreadcrumbTrail, basta dichiararle nei parametri:

--- a/inc/breadcrumb.php
+++ b/inc/breadcrumb.php
@@ -139,1 +139,7 @@ class Breadcrumb_Trail {
-			'post_taxonomy'   => array(),
+			'post_taxonomy'   => array(
+				'notizia' => 'tipi_notizia',
+				'servizio' => 'categorie_servizio',
+				'documento_pubblico' => 'tipi_documento',
+				'luogo' => 'tipi_luogo',
+				'evento' => 'tipi_evento',
+			),

@enrimk
Copy link
Contributor

enrimk commented Jul 2, 2024

Per precisare: non c'è bisogno di gestire "Vivere il Comune" come un caso speciale, almeno per quento riguarda Eventi e Luoghi.
Il path corretto è già stato dichiarato insieme ai rispettivi post_type; e BreadcrumbTrail, quando incontra quella componente dell'url, già la scompone e prova a linkarla alla pagina giusta.

@fabricius4
Copy link
Contributor Author

ti ringrazio per tutte le dritte. Come dicevi tu ho dovuto customizzare il file functions.php e relativi template implementando le nuova breadcrumb personalizzate; inc/breadcrumb.php e cosi via. Lavoraccio ma al momento sembra girare.

@VinsMach VinsMach linked a pull request Nov 18, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants