<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adtopy – Nomenclatura</title>
    <link>/plantillas/nomenclatura/</link>
    <description>Recent content in Nomenclatura on Adtopy</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/plantillas/nomenclatura/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Plantillas: Nomenclatura básica</title>
      <link>/plantillas/nomenclatura/nomenclatura-basica/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/plantillas/nomenclatura/nomenclatura-basica/</guid>
      <description>
        
        
        &lt;p&gt;Para entender cómo funciona el sistema de templating de Adtopy, es importante conocer ciertas cosas básicas de la nomenclatura.&lt;/p&gt;
&lt;h3 id=&#34;conceptos-básicos&#34;&gt;Conceptos básicos&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Hay WIDGETS.&lt;/li&gt;
&lt;li&gt;Hay partes de un COMPONENTE que pertenece a un widget.&lt;/li&gt;
&lt;li&gt;Cómo se accede al componente.&lt;/li&gt;
&lt;li&gt;Nivel de anidamiento del widget.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Para ello, vamos a dividir dicha nomenclatura en los siguientes apartados:&lt;/p&gt;
&lt;h3 id=&#34;parte-de-un-widget&#34;&gt;Parte de un Widget&lt;/h3&gt;
&lt;h4 id=&#34;1--nombre-del-widget&#34;&gt;1- Nombre del widget&lt;/h4&gt;
&lt;p&gt;Está compuesto por la siguiente sintáxis:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;[*NOMBRE_WIDGET]componentes y contenido[#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para que un widget sea válido, tiene que estar contenido dentro de &lt;strong&gt;corchetes&lt;/strong&gt; seguido de * &lt;strong&gt;[*]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Luego, para cerrar todos los widgets (o componentes) es necesario cerrarlo con &lt;strong&gt;[#]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Para poder usar un widget, tiene que estar creada es &lt;strong&gt;fichero con extensión .wid&lt;/strong&gt;. Ejemplo: &lt;strong&gt;NOMBRE_WIDGET.wid&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Veamos un ejemplo simple con una etiqueta de HTML &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt; (negrita), para enfazitar un texto. El código y widget de ejemplo sería el siguiente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;1. &amp;#39;STRONG.wid&amp;#39;

&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;strong&lt;/span&gt;&amp;gt;texto en negrita&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;strong&lt;/span&gt;&amp;gt;

2. &amp;#39;Haciendo uso del widget STRONG.wid&amp;#39;

[*STRONG]texto en negrita[#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;El resultado sería el contenido enfatizado: &lt;strong&gt;texto en negrita&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id=&#34;2--atributos-que-tiene-un-widget&#34;&gt;2- Atributos que tiene un widget.&lt;/h4&gt;
&lt;h4 id=&#34;3--acciones-que-se-puede-hacer-en-un-widget&#34;&gt;3- Acciones que se puede hacer en un widget.&lt;/h4&gt;
&lt;h4 id=&#34;4--contexto-en-el-que-se-encuentra&#34;&gt;4- Contexto en el que se encuentra.&lt;/h4&gt;
&lt;h4 id=&#34;5--uso-recursivo-de-componentes&#34;&gt;5- Uso recursivo de componentes.&lt;/h4&gt;

      </description>
    </item>
    
    <item>
      <title>Plantillas: Nomenclatura avanzada</title>
      <link>/plantillas/nomenclatura/nomenclatura-avanzada/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/plantillas/nomenclatura/nomenclatura-avanzada/</guid>
      <description>
        
        
        &lt;p&gt;Para entender cómo funciona el sistema de templating de Adtopy, es importante conocer ciertas cosas avanzadas de la nomenclatura.&lt;/p&gt;
&lt;h3 id=&#34;conceptos-avanzados&#34;&gt;Conceptos avanzados&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#conceptos-avanzados&#34;&gt;Conceptos avanzados&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#variables-dentro-de-cada-componente&#34;&gt;Variables dentro de cada componente&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#parametros-por-referencia-yo-valor&#34;&gt;Parametros por referencia y/o valor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#traducci%c3%b3n-para-cadenas-de-texto&#34;&gt;Traducción para cadenas de texto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#usar-php-dentro-de-una-plantilla-wid&#34;&gt;Usar php dentro de una plantilla .wid&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para ello, vamos a dividir dicha nomenclatura en los siguientes apartados:&lt;/p&gt;
&lt;h3 id=&#34;variables-dentro-de-cada-componente&#34;&gt;Variables dentro de cada componente&lt;/h3&gt;
&lt;p&gt;Está compuesto por la siguiente sintáxis:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;[*NOMBRE_WIDGET({&amp;#34;nombre_variable&amp;#34;:&amp;#34;$variable_php&amp;#34;})]componentes y contenido[#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para que las variables se pasen entre widgets, para intercambio de información, recorrido de en estructuras de datos, etc., es importante que la &lt;strong&gt;$variable_php&lt;/strong&gt; se haya calculado antes.&lt;/p&gt;
&lt;p&gt;Para ello, el código tiene que ser generado antes de la llamada. Ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;# Codigo ejemplo que guardamos en &amp;#39;$data&amp;#39; la $variable_php vista anteriormente

&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?php&lt;/span&gt;
$job&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;model\web\Jobs&lt;/span&gt;();
$job&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;job_id&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; $params&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;job_id&lt;/span&gt;;
$job&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;loadFromFields&lt;/span&gt;();
$data&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;json_decode&lt;/span&gt;($job&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;results&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);
&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y la llamada dentro del código .wid sería así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;[*:/ELEMENT/TYPES/_ARRAY({&amp;#34;data&amp;#34;:&amp;#34;$data&amp;#34;})][#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Es importante ver, que las variables puede ser llamadas &lt;strong&gt;por valor o por referencia&lt;/strong&gt;. Para más información, visitar &lt;a href=&#34;#2--parametros-por-referencia-yo-valor&#34;&gt;2&amp;ndash;parametros-por-referencia-yo-valor&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;parametros-por-referencia-yo-valor&#34;&gt;Parametros por referencia y/o valor&lt;/h3&gt;
&lt;p&gt;Las variables (parámetros), pueden ser pasados entre widgets .wid por &lt;strong&gt;por valor o por referencia&lt;/strong&gt;. La diferencia es que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Por &lt;strong&gt;VALOR&lt;/strong&gt;:  Se crea cada widget que usa dicha variable, una copia local. Por lo que, el ámbito y uso queda relegado al contexto de sólo ese widget. &lt;code&gt;$variable_php&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Por &lt;strong&gt;REFERENCIA&lt;/strong&gt;:  La variable, se comparte entre widgets, de forma que el contexto y ámbito es global a cada widget que quiera usarlo. Uso común para iteradores. &lt;code&gt;&amp;amp;$variable_php&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Veamos un ejemplo de pasar un parámetro por referencia:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;# Parámetro por referencia
[*:/ELEMENT/TYPES/_ARRAY({&amp;#34;data&amp;#34;:&amp;#34;$data&amp;#34;,&amp;#34;it&amp;#34;:&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;amp;&lt;/span&gt;$iterator&amp;#34;})][#]

# Parámetro por valor
[*:/ELEMENT/TYPES/_ARRAY({&amp;#34;data&amp;#34;:&amp;#34;$data&amp;#34;,&amp;#34;it&amp;#34;:&amp;#34;$iterator&amp;#34;})][#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En la variable &lt;code&gt;$it&lt;/code&gt; estará almacenado el valor de la variable pasada por referencia &lt;code&gt;&amp;amp;$iterator&lt;/code&gt;. Para así, en el contexto del widget deseado, poder usar &lt;code&gt;$it&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;traducción-para-cadenas-de-texto&#34;&gt;Traducción para cadenas de texto&lt;/h3&gt;
&lt;p&gt;Si se quiere usar traducciones dentro de los widgets, la nomenclatura para ello sería usar &lt;code&gt;[@L]&lt;/code&gt; para crear una referencia en la base de datos, que ese cadena es &amp;ldquo;traducible&amp;rdquo;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;# Traducción para cadenas de texto
[_LABEL][@L]Aceptar[#][#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;usar-php-dentro-de-una-plantilla-wid&#34;&gt;Usar php dentro de una plantilla .wid&lt;/h3&gt;
&lt;p&gt;Se puede &lt;strong&gt;usar código php dentro de una plantilla .wid&lt;/strong&gt;, tan simple cómo incluir &lt;code&gt;&amp;lt;?php ?&amp;gt;&lt;/code&gt; dentro de la plantilla .wid sería suficiente. Veamos un ejemplo de código mezclando todo lo anterior:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;# Código php dentro de una plantilla .wid

&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?php&lt;/span&gt;
$serializer&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;\Registry&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getService&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getSerializerByName&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;web&amp;#39;&lt;/span&gt;);
$currentPage&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Registry&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;$registry[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;currentPage&amp;#34;&lt;/span&gt;];
$params&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$currentPage&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getPageParams&lt;/span&gt;();
&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;
[*:JOB_LIST_DS_TABLE({&amp;#34;currentPage&amp;#34;:&amp;#34;$currentPage&amp;#34;,&amp;#34;object&amp;#34;:&amp;#34;/model/web/Jobs&amp;#34;,&amp;#34;dsName&amp;#34;:&amp;#34;FullList&amp;#34;,&amp;#34;serializer&amp;#34;:&amp;#34;$serializer&amp;#34;,&amp;#34;params&amp;#34;:&amp;#34;$params&amp;#34;,&amp;#34;iterator&amp;#34;:&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;amp;&lt;/span&gt;$iterator&amp;#34;})]
    [_:HEADER]
        [_:TITLE]Listado de trabajos[#]
        [_:DESCRIPTION]Tabla que muestra por fila los resultados de cada trabajo para la tarea ComScore.[#]
        [_:ICONO]statics[#]
    [#]
    [_:LISTING]
        [_:COLUMNHEADERS]
            [_:COLUMN][_:LABEL]ID[#][#]
            [_:COLUMN][_:LABEL]Trabajo[#][#]
            [_:COLUMN][_:LABEL]Tipo[#][#]
            [_:COLUMN][_:LABEL]Estado[#][#]
            [_:COLUMN][_:LABEL]Creado[#][#]
            [_:COLUMN][_:LABEL]Actualizado[#][#]
        [#]
        [_:ROWS]
            [_:ROW][_:VALUE][*::/ELEMENT/TYPES/AutoIncrement({&amp;#34;name&amp;#34;:&amp;#34;id_job&amp;#34;,&amp;#34;model&amp;#34;:&amp;#34;$iterator&amp;#34;})][#][#][#]
            [_:ROW][_:VALUE][*::/ELEMENT/TEXT/LINK][_::LINK_URL]/JobDetail/&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?php&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; $iterator&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;job_id&lt;/span&gt;;&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;/view[#][_::LINK_TEXT]&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?php&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; $iterator&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;job_id&lt;/span&gt;;&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;[#][#][#][#]
            [_:ROW][_:VALUE][*::/ELEMENT/TYPES/_String({&amp;#34;name&amp;#34;:&amp;#34;name&amp;#34;,&amp;#34;model&amp;#34;:&amp;#34;$iterator&amp;#34;})][#][#][#]
            [_:ROW][_:VALUE][*::/ELEMENT/TYPES/Integer_Job_Status({&amp;#34;name&amp;#34;:&amp;#34;status&amp;#34;,&amp;#34;model&amp;#34;:&amp;#34;$iterator&amp;#34;})][#][#][#]
            [_:ROW][_:VALUE][*::/ELEMENT/TYPES/DateTime({&amp;#34;name&amp;#34;:&amp;#34;created_at&amp;#34;,&amp;#34;model&amp;#34;:&amp;#34;$iterator&amp;#34;})][#][#][#]
            [_:ROW][_:VALUE][*::/ELEMENT/TYPES/DateTime({&amp;#34;name&amp;#34;:&amp;#34;updated_at&amp;#34;,&amp;#34;model&amp;#34;:&amp;#34;$iterator&amp;#34;})][#][#][#]
        [#]
    [#]
[#]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
  </channel>
</rss>
