• Home
  • Forum
  • Fare Web
  • PHP

breadcrumbs con microformat o RDF piccolo aiutino..

  • Creatore Discussione Creatore Discussione otto9due
  • Data di inizio Data di inizio 5 Dic 2014

otto9due

Utente Attivo
22 Feb 2014
591
25
28
  • 5 Dic 2014
  • #1
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
591
25
28
  • 6 Dic 2014
  • #2
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 )
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
591
25
28
  • 6 Dic 2014
  • #3
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>
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

Breadcrumbs, menù a briciole di pane
  • MarcoGrazia
  • 20 Nov 2015
  • Snippet PHP
Risposte
2
Visite
4K
Snippet PHP 20 Nov 2015
MarcoGrazia
F
errore file creato con ps 2025
  • fabry1707
  • 22 Mar 2025
  • Photoshop
Risposte
0
Visite
172
Photoshop 22 Mar 2025
fabry1707
F
A
callback functions con chiamate multiple
  • ANS1966
  • 2 Gen 2025
  • jQuery
Risposte
0
Visite
1K
jQuery 2 Gen 2025
ANS1966
A
R
Sviluppo Marketplace in Europa: Espandi il Tuo Business Online con VendereOnline.org!
  • rudygaffo
  • 19 Dic 2024
  • E-Commerce
Risposte
0
Visite
796
E-Commerce 19 Dic 2024
rudygaffo
R
D
Sono una SEO copywriter, content writer e ghostwriter con esperienza pluriennale. Cerco lavoro da remoto
  • Daniela83
  • 2 Dic 2024
  • Annunci servizi di Social Media Marketing
Risposte
0
Visite
571
Annunci servizi di Social Media Marketing 2 Dic 2024
Daniela83
D
S
Utilizzare MySql con maschere Access
  • staiul
  • 27 Nov 2024
  • MySQL
Risposte
0
Visite
336
MySQL 27 Nov 2024
staiul
S
D
Scrittrice di contenuti digitali con esperienza pluriennale
  • Daniela83
  • 26 Nov 2024
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
201
Offerte e Richieste di Lavoro e/o Collaborazione 26 Nov 2024
Daniela83
D
S
Vendesi Sito Web di Intrattenimento con 1600 Articoli Pubblicati
  • Susanna1986
  • 16 Set 2024
  • Compravendita siti e domini
Risposte
0
Visite
202
Compravendita siti e domini 16 Set 2024
Susanna1986
S
[Cerco][Gratuito] Articolisti per Sito Web con tema la tecnologia
  • sviluppomania
  • 3 Set 2024
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
1
Visite
363
Offerte e Richieste di Lavoro e/o Collaborazione 29 Gen 2025
alainscilly
A
I
problemi con thunderbird
  • ilprincipiante
  • 9 Lug 2024
  • Posta Elettronica
Risposte
0
Visite
2K
Posta Elettronica 9 Lug 2024
ilprincipiante
I
M
Vba maschera con campi da più tabelle salvataggio in un'unica tabella
  • motoranocchio
  • 9 Giu 2024
  • MS Access
Risposte
0
Visite
2K
MS Access 9 Giu 2024
motoranocchio
M
Problema in Shopify con Pixel Facebook
  • voldemort
  • 27 Mag 2024
  • E-Commerce
Risposte
1
Visite
2K
E-Commerce 27 Mag 2024
m.pittini
M
I
salvare con ajax user_id name msg
  • Imperor
  • 21 Mag 2024
  • PHP
Risposte
0
Visite
1K
PHP 21 Mag 2024
Imperor
I
V
Quanti GB per una telecamera con sim card?
  • vitomaso
  • 20 Mag 2024
  • IP Cam e Videosorveglianza
Risposte
0
Visite
3K
IP Cam e Videosorveglianza 20 Mag 2024
vitomaso
V
F
access ricerca record con apostrofo.
  • futty
  • 28 Mar 2024
  • MS Access
Risposte
0
Visite
1K
MS Access 28 Mar 2024
futty
F
F
Cerco Hosting con VECCHIE versioni di php
  • frk
  • 4 Mar 2024
  • Hosting
Risposte
0
Visite
2K
Hosting 4 Mar 2024
frk
F
C
Come ricreare questo calcolatore di prezzi a step con woocommerce?
  • calmabubbasst
  • 20 Feb 2024
  • WordPress
Risposte
0
Visite
2K
WordPress 20 Feb 2024
calmabubbasst
C
C
Segnalo barra laterale di navigazione ASSENTE con Chrome
  • calmabubbasst
  • 19 Feb 2024
  • Comunicazioni dallo Staff
Risposte
5
Visite
2K
Comunicazioni dallo Staff 20 Feb 2024
calmabubbasst
C
G
Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com!
  • guestpost
  • 4 Feb 2024
  • Guadagnare col Sito
Risposte
0
Visite
3K
Guadagnare col Sito 4 Feb 2024
guestpost
G
P
Hosting multidominio con Plesk
  • Pierino
  • 24 Nov 2023
  • Hosting
Risposte
1
Visite
3K
Hosting 7 Nov 2024
Licantropo
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?