breadcrumbs con microformat o RDF piccolo aiutino..

otto9due

Utente Attivo
22 Feb 2014
590
25
28
In pratica vorrei andare ad integrare uno tra i due microformat o RDF in questa funzione php..
Ho provato in diversi modi ma nessuno di questi produce il risultato sperato.. Qualcuno mi da una mano?
Vi posto la funzione..

PHP:
<?php
function breadcrumbs($separator = ' &raquo; ', $home = 'Home') {

    $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
    $base_url = substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/')) . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<a href=\"$base_url\">$home</a>");
    $tmp = array_keys($path);
    $last = end($tmp);
    unset($tmp);

    foreach ($path as $x => $crumb) {
        $title = ucwords(str_replace(array('.php', '_'), array('', ' '), $crumb));
	if ($x == 1){
	        $breadcrumbs[]  = "<a href=\"$base_url$crumb\">$title</a>";
	}elseif ($x > 1 && $x < $last){
		$tmp = "<a href=\"$base_url";
		for($i = 1; $i <= $x; $i++){
			$tmp .= $path[$i] . '/';
		}
                $tmp .= "\">$title</a>";
		$breadcrumbs[] = $tmp;
		unset($tmp);
        }else{
                $breadcrumbs[] = "$title";
	}
    }

    return implode($separator, $breadcrumbs);
}	
echo breadcrumbs();

?>

Questo è il link che spiega come implementare questi formati..
https://support.google.com/webmasters/answer/185417?hl=it
Non mi trovo con l'alberatura in maniera dinamica..
 

otto9due

Utente Attivo
22 Feb 2014
590
25
28
In questo modo funziona.. Ma vorrei che funzionasse nella modalità child ovvero se una pagina ha più breadcrumb trail..
In pratica il priblema principale sta nel chiudere gli <span> ovvero metterne tanti quanti ne servono alla fine per chiudere quelli aperti. In totale dovrebbero essere 2 per ogni esecuzione del ciclo for -1 ( perchè la home ha solo uno span ) :p
Vi posto quanto ho fatto fino ad ora.. Potrebbe comunque essere utile per modellarlo:

PHP:
/* Inizio funzione breadcrumbs*/
function breadcrumbs($separator = ' <i class="fa fa-angle-right"></i> ', $home = '<i class="fa fa-home"></i> Home') {

    $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
	$finalurl="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $base_url = substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/')) . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<span typeof='v:Breadcrumb'><a href=\"$base_url\" rel='v:url' property='v:title'>$home</a>");
    $tmp = array_keys($path);
    $last = end($tmp);
    unset($tmp);

    foreach ($path as $x => $crumb) {
        $title = ucwords(str_replace(array('.php', '_'), array('', ' '), $crumb));
	if ($x == 1){
	        $breadcrumbs[]  = "<span typeof='v:Breadcrumb'><a href=\"$base_url$crumb\" rel='v:url' property='v:title'>$title</a></span>";
	}elseif ($x > 1 && $x < $last){
		$tmp = "<span typeof='v:Breadcrumb'><a href=\"$base_url";
		for($i = 1; $i <= $x; $i++){
			$tmp .= $path[$i] . '/';
		}
                $tmp .= "\" rel='v:url' property='v:title'>$title</a></span>";
		$breadcrumbs[] = $tmp;
		unset($tmp);
        }else{
                $breadcrumbs[] = "<span typeof='v:Breadcrumb'><a href=\"$finalurl\" rel='v:url' property='v:title'>$title</a></span>";
	}
    }

    return implode($separator, $breadcrumbs);
}	

/* Fine funzione breadcrumbs*/
 

otto9due

Utente Attivo
22 Feb 2014
590
25
28
Avevo pensato di aprire tutti gli <span>.. e poi chiuderli alla fine con un ciclo come questo..
PHP:
<?php
$cont = 1;
while ($cont <= $x) {
  echo "</span></span>";
  $cont++;
}
?>
Cioè aggingerne 2 ogni livello del link inserito.. Più uno che dovrebbe chiudere quello iniziale..
Ho provato in diversi modi ma ancora nulla.
La struttura da seguire sarebbe questa:

HTML:
<div xmlns:v="http://rdf.data-vocabulary.org/#"> 
  <span typeof="v:Breadcrumb">
    <a href="http://www.example.com/books" rel="v:url" property="v:title">
      
      Libri
    </a> ›
    <span rel="v:child">         
          
      <span typeof="v:Breadcrumb">
        <a href="http://www.example.com/books/authors" rel="v:url" property="v:title">
          
          Autori
        </a> ›
        <span rel="v:child">         
                   
          <span typeof="v:Breadcrumb">
            <a href="http://www.example.com/books/authors/stephenking" rel="v:url" property="v:title">
              
              Stephen King
            
            </a> ›   
<!-- Da qui si dovrebbe iniziale a chiudere aggiungendo 2  span per ogni livello del link. Aggiungendo il ciclo alla fine di ogni link mi appaiono stranamente dopo il link base del sito.. -->       
          </span>
        </span>
      </span>
    </span>
  </span>
</div>
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia Breadcrumbs, menù a briciole di pane Snippet PHP 2
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
M Aggiunta prodotti nel carrello con lo stesso in e varianti diverse PHP 0
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
N Problema con position absolute e overflow HTML e CSS 4
M Estrarre soltanto i prodotti con stessa descrizione PHP 10
felino [Wordpress] Gallery con foto selezionabili dall'utente WordPress 0
G Invio di più valori con la stessa checkbox PHP 4
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
I Form con selettore HTML e CSS 0
G phpmailer e php 8.1 con estensione mysqli PHP 6
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
N Vendo sito web di casino online con 1000 giochi Compravendita siti e domini 0
G form invio multiplo con checkbox PHP 12
L Query e selezione DB con $_POST PHP 2
K [PHP] Problema con variabili concatenate. PHP 1
R Dubbi su siti sviluppati con Wordpress e con codice WordPress 6
B Router e telecamere con pannello solare IP Cam e Videosorveglianza 0
Z Cerco ecommerce gratuito meglio se realizzato con Woocommerce di Wordpress. E-Commerce 0
S [CERCO] scambio di articoli con link Offerte e Richieste di scambio links 0
A Immagine decentrata con sfondo trasparente Photoshop 0
O problema con query PHP 4
Jensen Errore di sintassi con DELETE PHP 3
D Casella di testo con grassetto ecc... HTML e CSS 2
R Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera MS Access 10
G Query con i giorni della settimana MySQL 10
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
A Connessione a mdb con php7 PHP 1
P errore 404 con javascript Javascript 2
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0

Discussioni simili