Microdata/es: Difference between revisions

From Joomla! Documentation

Created page with "La versión 3.2 introdujo la biblioteca JMicrodata, parte de uno de los muchos proyectos exitosos presentados durante el GSoC 2013 y la 3.3 versión introdujo elementos de mic..."
No edit summary
 
(75 intermediate revisions by 3 users not shown)
Line 14: Line 14:
La versión 3.2 introdujo la biblioteca JMicrodata, parte de uno de los muchos proyectos exitosos presentados durante el GSoC 2013 y la 3.3 versión introdujo elementos de microdatos en dos de los diseños de componentes del núcleo. En 3.4, tenemos el objetivo de continuar perfeccionando la biblioteca JMicrodata para asegurar que es flexible y fácil de usar para los usuarios de todos los niveles de habilidad y continuar con la aplicación de los de los elementos microdatos de los diseños fundamentales.
La versión 3.2 introdujo la biblioteca JMicrodata, parte de uno de los muchos proyectos exitosos presentados durante el GSoC 2013 y la 3.3 versión introdujo elementos de microdatos en dos de los diseños de componentes del núcleo. En 3.4, tenemos el objetivo de continuar perfeccionando la biblioteca JMicrodata para asegurar que es flexible y fácil de usar para los usuarios de todos los niveles de habilidad y continuar con la aplicación de los de los elementos microdatos de los diseños fundamentales.


==How do I use Microdata?==
==¿Cómo puedo utilizar los Microdatos?==
Microdata can be added to Joomla! using template overrides or with the use of plugins which allow you to insert microdata into specific resources.
Los microdatos pueden ser añadidos a Joomla! sobrescribiendo la plantilla o con el uso de plugins que permitan insertar los microdatos en recursos específicos.
<br>
<br>
As of '''Joomla!''' {{JVer|3.2}} there is a [https://github.com/joomla/joomla-cms/tree/master/libraries/joomla/microdata library] within Joomla! which allows developers to pull in microdata without needing to format it correctly.
Ya que '''Joomla!''' {{JVer|3.2}} tiene una [https://github.com/joomla/joomla-cms/blob/staging/libraries/src/Microdata biblioteca] dentro suyo que permite a los desarrolladores recurrir a los microdatos sin necesidad de formatearlos correctamente.


==JMicrodata==
== JMicrodata ==
[https://github.com/joomla/joomla-cms/blob/master/libraries/joomla/microdata/microdata.php JMicrodata] is a library to implement and output http://schema.org microdata semantics.
[https://github.com/joomla/joomla-cms/blob/staging/libraries/src/Microdata/Microdata.php JMicrodata] es una librería para implementar y obtener los microdatos semánticos de http://schema.org.
<br>
<br>
<br>
<br>
The library was designed with this goals in mind:
La biblioteca fue diseñada con esta meta en mente:
# Having the '''possibility to switch the Microdata Type dynamically''', you just change the Type (there are 558 different available types).
# Tener la '''posibilidad de cambiar el Tipo de Microdatos dinámicamente''', precisamente tu cambias el Tipo (hay 558 tipos, diferentes, disponibles).
# '''Display validated semantics''', the library takes care to display data correctly.
# '''Mostrar la semántica validada''', la biblioteca se encarga de mostrar los datos correctamente.
# '''Enable/disable the microdata''' semantics.
# '''Activar/desactivar los microdatos''' la semántica.
# '''Fallbacks''', you should never lose any meaningful semantic.
# '''Retrocesos''', nunca se debe perder ningún sentido semántico.
The JMicrodata class uses the [https://github.com/joomla/joomla-cms/blob/master/libraries/joomla/microdata/types.json types.json] file which contains all available http://schema.org <i>Types</i> and <i>Properties</i>, that file was automatically created with the https://github.com/PAlexcom/Spider4Schema web crawler.
La clase JMicrodata utiliza el archivo [https://github.com/joomla/joomla-cms/blob/staging/libraries/src/Microdata/types.json types.json] que contiene todos los ''Tipos'' y ''Propiedades'' disponibles de http://schema.org, el archivo se ha creado automáticamente con el el rastreador web https://github.com/PAlexcom/Spider4Schema.


==How do I use the JMicrodata library?==
==¿Cómo puedo utilizar la biblioteca JMicrodata?==
First of all you need to make an instance of the library in your extensions:
En primer lugar necesitas crear una instancia de la biblioteca en tus extensiones:


<source lang="php">
<source lang="php">
Line 39: Line 39:
</source>
</source>


So let's suppose that you have the following string which is part of your article:
Así que vamos a suponer que tienes la siguiente cadena de texto que es parte de tu artículo:


<source lang="html4strict">
<source lang="html4strict">
Line 52: Line 52:
</source>
</source>


And you want to add microdata semantics and you setup the current scope type as <i>Article</i>:
Y deseas agregar la semántica de microdatos e instanciarla en el ámbito de la aplicación actual, como puede ser ''Article'':


<source lang="php">
<source lang="php">
Line 69: Line 69:
</source>
</source>


The library will display:
La biblioteca mostrará:


<source lang="html4strict">
<source lang="html4strict">
Line 85: Line 85:
</source>
</source>


What happens if the current scope is something else than <i>Article</i>, for example a <i>Product</i> scope, and the current scope doesn't have an <i>author</i> and <i>articleBody</i> property?
¿Qué sucede si el ámbito actual es algo más que ''Article'', por ejemplo, el ámbito ''Product'', y el ámbito actual no tiene propiedades ''autor'' y/o ''articleBody''?


<source lang="php">
<source lang="php">
Line 102: Line 102:
</source>
</source>


As you've added a fallback <tt>->fallback('Person', 'name')</tt>, it will fallback to the <i>Person</i> type, and you will not lose any meaningful semantic.
Como has añadido un retroceso <tt>->fallback('Person', 'name')</tt>, que se preserva al tipo ''Person</i>'', entonces no perderás ningún sentido semántico.


<source lang="html4strict">
<source lang="html4strict">
Line 118: Line 118:
</source>
</source>


If you don't need all that microdata information, you just disable that feature by calling: <tt>$microdata->enable(false);</tt>
Si no necesitas toda la información de los microdatos, sólo tienes que desactivar esa característica llamando: <tt>$microdata->enable(false);</tt>


<source lang="php">
<source lang="php">
Line 137: Line 137:
</source>
</source>


The library will display the following:
La biblioteca mostrará lo siguiente:


<source lang="html4strict">
<source lang="html4strict">
Line 150: Line 150:
</source>
</source>


==JMicrodata documentation==
== Documentación de JMicrodata ==
All Microdata HTML output is handled by the JMicrodata class.
Todos las salidas de Microdatos en HTML es manejada por la clase JMicrodata.
<br>
<br>
<br>
<br>
<code>'''JMicrodata::htmlScope($scope);'''</code><br>
<code>'''JMicrodata::htmlScope($scope);'''</code><br>
Return:
Devuelve:


<source lang="php">
<source lang="php">
Line 161: Line 161:
</source>
</source>


the HTML <i>Scope</i> of the given <i>Type</i>, must be inside a HTML tag element.
el código HTML de ''Scope'' de un determinado ''Type'', debe estar dentro de un elemento etiqueta HTML.
<br>
<br>
<br>
<br>
<code>'''JMicrodata::htmlProperty($property);'''</code><br>  
<code>'''JMicrodata::htmlProperty($property);'''</code><br>  
Return:
Devuelve:


<source lang="php">
<source lang="php">
Line 171: Line 171:
</source>
</source>


the HTML of the given <i>Property</i>, must be inside a HTML tag element.
el código HTML de ''Property'', debe estar dentro de un elemento etiqueta HTML.
<br>
<br>
<br>
<br>
<code>'''JMicrodata::htmlSpan($content, $property = "", $scope = "", $inverse = false);'''</code><br>  
<code>'''JMicrodata::htmlSpan($content, $property = "", $scope = "", $inverse = false);'''</code><br>  
Return:
Devuelve:


<source lang="php">
<source lang="php">
<span itemscope itemtype="http://schema.org/$scope itemprop="$property">
<span itemscope itemtype="http://schema.org/$scope" itemprop="$property">
     $content
     $content
</span>
</span>
</source>
</source>


the microdata in a <span> tag, there is also available a JMicrodata::htmlDiv() method with the same functionalities.
los microdatos en una etiqueta <span>, también está disponibles en un método JMicrodata::htmlDiv() con las mismas funcionalidades.
<br>
<br>
<br>
<br>
<code>'''JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);'''</code><br>
<code>'''JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);'''</code><br>
Return:
Devuelve:


<source lang="php">
<source lang="php">
Line 193: Line 193:
</source>
</source>


the microdata in a <meta> tag with the <i>content for machines</i>, this method does not add the meta tag in the <head> section of the page.
los microdatos en una etiqueta <meta> con el ''contenido para máquinas'', este método no añade la etiqueta meta en la sección <head> de la página.
<br>
<br>
<br>
<br>
<code>'''$microdata = JMicrodata($type = "", $flag = true);'''</code><br>  
<code>'''$microdata = JMicrodata($type = "", $flag = true);'''</code><br>  
Create a new instance of the <i>JMicrodata</i> class and setup the current <i>Type</i>, the flag param is for enabling or disabling HTML microdata semantics output. Fallback to <i>Thing</i> Type if the Type isn't available or given.
Crea una nueva instancia de la clase ''JMicrodata'' y configura el ''Type'' actual, el parámetro flag es para activar o desactivar la salida semántica de los microdatos en HTML. Retrotrae Al tipo  ''Thing'' por si el Tipo no está disponible o dado.
<br>
<br>
<br>
<br>
<code>'''$microdata->enable($flag = true);'''</code><br>  
<code>'''$microdata->enable($flag = true);'''</code><br>  
Enable or Disable HTML Microdata semantics output.
Activa o Desactiva la salida semántica de los Microdatos en HTML.
<br>
<br>
<br>
<br>
<code>'''$microdata->isEnabled();'''</code><br>  
<code>'''$microdata->isEnabled();'''</code><br>  
Return true if Microdata semantics HTML output are enabled.
Devuelve true si la salida semántica de los Microdatos en HTML está habilitada.
<br>
<br>
<br>
<br>
<code>'''$microdata->setType($type);'''</code><br>
<code>'''$microdata->setType($type);'''</code><br>
Set a new Schema.org <i>Type</i>, there is also a $microdata->getType() function to retrieve the current <i>Type</i>.
Establece un nuevo ''Type'' de Schema.org, también hay una función $microdata->getType() para recuperar el ''Type'' actual.
<br>
<br>
<br>
<br>
<code>'''$microdata->property($name);'''</code><br>  
<code>'''$microdata->property($name);'''</code><br>  
Setup the <i>Property</i> if available in the current <i>Type</i> Scope, there is also a $microdata->getProperty() function to retrieve the current <i>Property</i>.
Configura ''Property'', si está disponible en el ámbito del ''Type'' actual, también hay una función $microdata->getProperty() para recuperar ''Property''.
<br>
<br>
<br>
<br>
<code>'''$microdata->content($value, $machineValue = null);'''</code><br>  
<code>'''$microdata->content($value, $machineValue = null);'''</code><br>  
Setup a <i>Text value</i> or <i>Content value</i> for the Microdata, there is also a $microdata->getContent() function to retrieve the current <i>Text value</i>.
Configura de un ''Text value'' o ''Content value'' para los Microdatos, también hay una función $microdata->getContent() para recuperar el ''Text value'' actual.
<br>
<br>
<br>
<br>
<code>'''$microdata->fallback($type, $property);'''</code>  
<code>'''$microdata->fallback($type, $property);'''</code>  
<br>Setup a Fallback <i>Type</i> and <i>Property</i>, there are also the $microdata->getFallbackType() and $microdata->getFallbackProperty() to retrieve the Fallback <i>Type</i> and Fallback <i>Property</i>. Fallback to <i>Thing Type</i> if the <i>Type</i> isn't available, Fallback to <i>null</i> the Property if isn't available.
<br>Configura un Retroceso de ''Type'' y de ''Property'', también existen $microdata->getFallbackType() y $microdata->getFallbackProperty() para recuperar el Retroceso de ''Type'' y el de ''Property''. El retroceso es a ''Thing Type''  si ''Type'' no está disponible, el Retroceso es a ''null'' si ''Property'' si no está disponible.
<br>
<br>
<br>
<br>
<code>'''$microdata->displayScope();'''</code><br>
<code>'''$microdata->displayScope();'''</code><br>
Return:
Devuelve:
   
   
<source lang="php">
<source lang="php">
Line 231: Line 231:
</source>
</source>


the HTML with the <i>Scope</i> of the current <i>Type</i>, must be inserted inside a tag element.
el código HTML del ''Scope'' del ''Type'' actual, debe estar inserto dentro de un elemento etiqueta.


<code>'''$microdata->display($displayType = "", $emptyOutput = false);'''</code>
<code>'''$microdata->display($displayType = "", $emptyOutput = false);'''</code>
Return the Microdata HTML, if the <i>Property</i> isn't available it checks for a Fallback, otherwise return ''.
Devuelve los Microdatos HTML, si ''Property'' no está disponible verifica un Retroceso, de lo contrario devuelve ''.


There are 4 types of $displayType:
Hay 4 tipos de $displayType:
* inline
* inline
* span
* span
Line 242: Line 242:
* meta
* meta


<u>This method contains the HTML Microdata display logic</u>,
<u>Este método contiene la lógica de visualización HTML de los Microdatos</u>,
If you specify the <i>$displayType</i> param, the Microdata will be returned the way you specified and expect — to,
Si se especifica el parámetro ''$displayType'', los Microdatos serán devueltos de la forma especificada y esperada,
Otherwise if the <i>$displayType</i> param is empty it will be processed by the <i>display()</i> method and returned the HTML in the right way, with the expected <i>Property</i> Type (example of expectedTypes = URL, Text, Person ...)
De lo contrario, si el parámetro ''$displayType'' está vacío será procesado por el método ''display()'' y devuelve el código HTML de la manera correcta, con las ''Property'' Type esperada (ejemplo de expectedTypes = URL, Texto, Persona ...)


What happens if you call display($displayType = "meta") ?
¿Qué pasa si llamas a display($displayType = "meta")?


The returned HTML will be inside a <meta> HTML tag.
El HTML devuelto estará dentro de una etiqueta <meta> HTML.


What happend if you call display()?
¿Qué sucede si llamas a display()?


The method will automatically check the expected type for the given Property, and will return the right Microdata HTML.
El método de verifica automáticamente el tipo esperado de los Property entregados y devolverá los Microdatos HTML correctos.


There are 3 types of Microdata:
Hay 3 tipos de Microdatos:


* nested → example:  
* nested → ejemplo:  
<source lang="php">
<source lang="php">
itemprop="$property" itemscope itemtype="http://schema.org/$scope</source>
itemprop="$property" itemscope itemtype="http://schema.org/$scope"</source>


if there is also available a $content it will output
si también hay disponible un $content será la salida
<source lang="php">
<source lang="php">
<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span></source>
<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span></source>
* meta → example:
* meta → ejemplo:
<source lang="php">
<source lang="php">
<meta content="$content" itemprop="$property"></source>
<meta content="$content" itemprop="$property"></source>
if no $content is available will output
si no hay $content está disponible será la salida
<source lang="php">
<source lang="php">
itemprop="$property"</source>
itemprop="$property"</source>


* normal → example:
* normal → ejemplo:
<source lang="php">
<source lang="php">
itemprop="$property"</source>
itemprop="$property"</source>
if there is available a $content will output
si también hay disponible un $content será la salida
<source lang="php">
<source lang="php">
<span itemprop="$property">$content</span></source>
<span itemprop="$property">$content</span></source>


For some usage examples you can see the library test file https://github.com/joomla/joomla-cms/blob/master/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php
Para algunos ejemplos de uso se puede ver la biblioteca del archivo de prueba https://github.com/joomla/joomla-cms/blob/staging/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php


==How To implement Microdata yourself==
== Cómo implementar los Microdatos tu mismo ==
* [[S:MyLanguage/How To Implement Rich Snippet for Breadcrumbs|How To Implement Rich Snippet for Breadcrumbs]]
* [[S:MyLanguage/How To Implement Rich Snippet for Breadcrumbs|Cómo Implementar fragmentos enriquecidos para la Ruta de navegación]]


<noinclude>
<noinclude>
[[Category:Search Engine Optimisation]]
[[Category:Search Engine Optimisation/es]]
</noinclude>
</noinclude>

Latest revision as of 13:02, 6 May 2020

Content is Incomplete

This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section has not been edited in several days, please consider helping complete the content.
This article was last edited by Abulafia (talk| contribs) 6 years ago. (Purge)

Joomla! 
≥ 3.2

¿Qué es Microdatos?

Los microdatos es una manera de añadir información contextual a tu sitio web y tus contenidos, permitiendo a los motores de búsqueda comprender mejor la información que les proporcionas.

La información contextual permite a los motores de búsqueda entender el significado de la información que se presenta en tu sitio web, le permite responder mejor a un "lenguaje natural" más detallado, de las consultas, donde una comprensión del significado ayuda a interpretar el contenido más relevante a mostrarse.

Los microdatos pueden ser utilizados para explicar cualquier cosa que quieras explicar, y hay más 'esquemas' que se agregan a una base regular. Hay varios vocabularios en existencia, sin embargo en la actualidad el sistema preferido por los motores de búsqueda es el de schema.org.
Para entender cómo los motores de búsqueda utilizan la información de los microdatos, echa un vistazo a este corto video.

Joomla! 3.x hoja de ruta para los Microdatos

La versión 3.2 introdujo la biblioteca JMicrodata, parte de uno de los muchos proyectos exitosos presentados durante el GSoC 2013 y la 3.3 versión introdujo elementos de microdatos en dos de los diseños de componentes del núcleo. En 3.4, tenemos el objetivo de continuar perfeccionando la biblioteca JMicrodata para asegurar que es flexible y fácil de usar para los usuarios de todos los niveles de habilidad y continuar con la aplicación de los de los elementos microdatos de los diseños fundamentales.

¿Cómo puedo utilizar los Microdatos?

Los microdatos pueden ser añadidos a Joomla! sobrescribiendo la plantilla o con el uso de plugins que permitan insertar los microdatos en recursos específicos.
Ya que Joomla! Joomla 3.2 tiene una biblioteca dentro suyo que permite a los desarrolladores recurrir a los microdatos sin necesidad de formatearlos correctamente.

JMicrodata

JMicrodata es una librería para implementar y obtener los microdatos semánticos de http://schema.org.

La biblioteca fue diseñada con esta meta en mente:

  1. Tener la posibilidad de cambiar el Tipo de Microdatos dinámicamente, precisamente tu cambias el Tipo (hay 558 tipos, diferentes, disponibles).
  2. Mostrar la semántica validada, la biblioteca se encarga de mostrar los datos correctamente.
  3. Activar/desactivar los microdatos la semántica.
  4. Retrocesos, nunca se debe perder ningún sentido semántico.

La clase JMicrodata utiliza el archivo types.json que contiene todos los Tipos y Propiedades disponibles de http://schema.org, el archivo se ha creado automáticamente con el el rastreador web https://github.com/PAlexcom/Spider4Schema.

¿Cómo puedo utilizar la biblioteca JMicrodata?

En primer lugar necesitas crear una instancia de la biblioteca en tus extensiones:

<?php
$microdata = new JMicrodata('Article');
?>

Así que vamos a suponer que tienes la siguiente cadena de texto que es parte de tu artículo:

<div>
    <!-- Author of the content -->
    <span>
        Written by Alexandru Pruteanu
    </span>
    <!-- The content -->
    Here is the article text...
<div>

Y deseas agregar la semántica de microdatos e instanciarla en el ámbito de la aplicación actual, como puede ser Article:

<?php
$microdata = new JMicrodata('Article');
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

La biblioteca mostrará:

<div itemscope itemtype='https://schema.org/Article'>
    <!-- Author of the content -->
    <span>
        Written by
        <span itemprop='author' itemscope itemtype='https://schema.org/Person'>
            <span itemprop='name'>Alexandru Pruteanu</span>
        </span>
    </span>
    <!-- The content -->
    <span itemprop='articleBody'>Here is the article text...</span>
<div>

¿Qué sucede si el ámbito actual es algo más que Article, por ejemplo, el ámbito Product, y el ámbito actual no tiene propiedades autor y/o articleBody?

<?php
$microdata = new JMicrodata('Product');
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

Como has añadido un retroceso ->fallback('Person', 'name'), que se preserva al tipo Person, entonces no perderás ningún sentido semántico.

<div itemscope itemtype='https://schema.org/Product'>
    <!-- Author of the content -->
    <span>
        Written by
        <span itemscope itemtype='https://schema.org/Person'>
            <span itemprop='name'>Alexandru Pruteanu</span>
        </span>
    </span>
    <!-- The content -->
    Here is the article text...
<div>

Si no necesitas toda la información de los microdatos, sólo tienes que desactivar esa característica llamando: $microdata->enable(false);

<?php
$microdata = new JMicrodata('Product');
$microdata->enable(false);
?>

<div <?php echo $microdata->displayScope();?>>
    <!-- Author of the content -->
    <span>
        Written by <?php echo $microdata->content('Alexandru Pruteanu')->property('author')->fallback('Person', 'name')->display();?>
    </span>
    <!-- The content -->
    <?php echo $microdata->content('Here is the article text...')->property('articleBody')->display();?>
<div>

La biblioteca mostrará lo siguiente:

<div>
    <!-- Author of the content -->
    <span>
        Written by Alexandru Pruteanu
    </span>
    <!-- The content -->
    Here is the article text...
<div>

Documentación de JMicrodata

Todos las salidas de Microdatos en HTML es manejada por la clase JMicrodata.

JMicrodata::htmlScope($scope);
Devuelve:

itemscope itemtype="http://schema.org/$scope"

el código HTML de Scope de un determinado Type, debe estar dentro de un elemento etiqueta HTML.

JMicrodata::htmlProperty($property);
Devuelve:

itemprop="$property"

el código HTML de Property, debe estar dentro de un elemento etiqueta HTML.

JMicrodata::htmlSpan($content, $property = "", $scope = "", $inverse = false);
Devuelve:

<span itemscope itemtype="http://schema.org/$scope" itemprop="$property">
    $content
</span>

los microdatos en una etiqueta , también está disponibles en un método JMicrodata::htmlDiv() con las mismas funcionalidades.

JMicrodata::htmlMeta($content, $property, $scope = "", $inverse = false);
Devuelve:

<meta $property $scope content="$content">

los microdatos en una etiqueta <meta> con el contenido para máquinas, este método no añade la etiqueta meta en la sección <head> de la página.

$microdata = JMicrodata($type = "", $flag = true);
Crea una nueva instancia de la clase JMicrodata y configura el Type actual, el parámetro flag es para activar o desactivar la salida semántica de los microdatos en HTML. Retrotrae Al tipo Thing por si el Tipo no está disponible o dado.

$microdata->enable($flag = true);
Activa o Desactiva la salida semántica de los Microdatos en HTML.

$microdata->isEnabled();
Devuelve true si la salida semántica de los Microdatos en HTML está habilitada.

$microdata->setType($type);
Establece un nuevo Type de Schema.org, también hay una función $microdata->getType() para recuperar el Type actual.

$microdata->property($name);
Configura Property, si está disponible en el ámbito del Type actual, también hay una función $microdata->getProperty() para recuperar Property.

$microdata->content($value, $machineValue = null);
Configura de un Text value o Content value para los Microdatos, también hay una función $microdata->getContent() para recuperar el Text value actual.

$microdata->fallback($type, $property);
Configura un Retroceso de Type y de Property, también existen $microdata->getFallbackType() y $microdata->getFallbackProperty() para recuperar el Retroceso de Type y el de Property. El retroceso es a Thing Type si Type no está disponible, el Retroceso es a null si Property si no está disponible.

$microdata->displayScope();
Devuelve:

itemscope itemtype="http://schema.org/$scope

el código HTML del Scope del Type actual, debe estar inserto dentro de un elemento etiqueta.

$microdata->display($displayType = "", $emptyOutput = false); Devuelve los Microdatos HTML, si Property no está disponible verifica un Retroceso, de lo contrario devuelve .

Hay 4 tipos de $displayType:

  • inline
  • span
  • html
  • meta

Este método contiene la lógica de visualización HTML de los Microdatos, Si se especifica el parámetro $displayType, los Microdatos serán devueltos de la forma especificada y esperada, De lo contrario, si el parámetro $displayType está vacío será procesado por el método display() y devuelve el código HTML de la manera correcta, con las Property Type esperada (ejemplo de expectedTypes = URL, Texto, Persona ...)

— ¿Qué pasa si llamas a display($displayType = "meta")?

El HTML devuelto estará dentro de una etiqueta <meta> HTML.

— ¿Qué sucede si llamas a display()?

El método de verifica automáticamente el tipo esperado de los Property entregados y devolverá los Microdatos HTML correctos.

Hay 3 tipos de Microdatos:

  • nested → ejemplo:
itemprop="$property" itemscope itemtype="http://schema.org/$scope"

si también hay disponible un $content será la salida

<span itemprop="$property" itemscope itemtype="http://schema.org/$scope">$content</span>
  • meta → ejemplo:
<meta content="$content" itemprop="$property">

si no hay $content está disponible será la salida

itemprop="$property"
  • normal → ejemplo:
itemprop="$property"

si también hay disponible un $content será la salida

<span itemprop="$property">$content</span>

Para algunos ejemplos de uso se puede ver la biblioteca del archivo de prueba https://github.com/joomla/joomla-cms/blob/staging/tests/unit/suites/libraries/joomla/microdata/JMicrodataTest.php

Cómo implementar los Microdatos tu mismo