<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adtopy – Rutas archivos</title>
    <link>/plantillas/rutas/</link>
    <description>Recent content in Rutas archivos on Adtopy</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/plantillas/rutas/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Plantillas: Resolvedor</title>
      <link>/plantillas/rutas/resolvedor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/plantillas/rutas/resolvedor/</guid>
      <description>
        
        
        &lt;h2 id=&#34;resolvedor-de-rutas&#34;&gt;Resolvedor de rutas&lt;/h2&gt;
&lt;p&gt;El archivo llamado &lt;code&gt;model/web/objetcs/Page/Page.php&lt;/code&gt; es el encargado de resolver la ruta de cada widget, mirando en un Path u otro, dependiendo de si existe o no. 💻&lt;/p&gt;
&lt;p&gt;En concreto, en la función llamada &lt;strong&gt;getWidgetPaths()&lt;/strong&gt; se encarga de resolver esto:&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;// Path: model/web/objetcs/Page/Page.php -&amp;gt; getWidgetPaths()

    function getWidgetPaths($isWork=false)
    {
        $def=$this-&amp;gt;getPageDefinition();
        $widgetPath=array();
        if(isset($def[&amp;#34;WIDGETPATH&amp;#34;]))
        {
            $widgetPath=$def[&amp;#34;WIDGETPATH&amp;#34;];
        }
        $widgetPath[]=$this-&amp;gt;id_site[0]-&amp;gt;getPagePath($this-&amp;gt;path).&amp;#34;/widgets&amp;#34;.($isWork===true?&amp;#34;_work&amp;#34;:&amp;#34;&amp;#34;).&amp;#34;/&amp;#34;;
        // Se incluyen los paths del sitio actual 
        // (ojo, no el de la pagina, porque esta pagina podria ser llamada desde otros sites).
        $curSite=\Registry::getService(&amp;#34;site&amp;#34;);
        $sitePaths=$curSite-&amp;gt;getExtraWidgetPath();
        $widgetPath=array_merge($widgetPath,$sitePaths);
        $widgetPath[]=$this-&amp;gt;id_site[0]-&amp;gt;getRoot().&amp;#34;/widgets/&amp;#34;;
        $widgetPath[]=PROJECTPATH.&amp;#34;/output/html/Widgets&amp;#34;;
        $widgetPath[]=PROJECTPATH;
        return $widgetPath;
    }
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si nos fijamos en las últimas líneas de la función, nos dice las 3 rutas donde va a intentar resolver el sistema de plantillas para buscar los widgets:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/docs/rutas/ubicacion-rutas-widgets/ubicacion-widgets/&#34;&gt;Ubicación rutas widgets&lt;/a&gt;: Ubicación rutas widgets.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Plantillas: Ubicación rutas widgets</title>
      <link>/plantillas/rutas/ubicacion-rutas-widgets/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/plantillas/rutas/ubicacion-rutas-widgets/</guid>
      <description>
        
        
        &lt;h3 id=&#34;ruta-1&#34;&gt;Ruta 1&lt;/h3&gt;


&lt;div class=&#34;alert alert-exito&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Ruta 1&lt;/h4&gt;
&lt;p class=&#34;content-alert&#34;&gt;$widgetPath[]=$this-&amp;gt;id_site[0]-&amp;gt;getRoot().&amp;quot;/widgets/&amp;quot;; 📁&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Buscará dentro del proyecto: &lt;strong&gt;/sites/nombre_site/widgets/nombre_carpeta/nombre_widget.wid&lt;/strong&gt;.  Donde:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nombre_site&lt;/strong&gt; -&amp;gt; pueden ser los valores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;adtopy&lt;/li&gt;
&lt;li&gt;editor&lt;/li&gt;
&lt;li&gt;reflection&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nombre_carpeta&lt;/strong&gt; -&amp;gt; pueden ser los valores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cache&lt;/li&gt;
&lt;li&gt;html&lt;/li&gt;
&lt;li&gt;pages&lt;/li&gt;
&lt;li&gt;routes&lt;/li&gt;
&lt;li&gt;widgets&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nombre_widget.wid&lt;/strong&gt; -&amp;gt; puede ser los valores que se quieran, pero siempre tendrán la siguiente estructura:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Loquesea (primera en mayúscula), y dentro de ésta, estos 3 archivos siempre:
&lt;ul&gt;
&lt;li&gt;Definition.php&lt;/li&gt;
&lt;li&gt;Loquesea.php&lt;/li&gt;
&lt;li&gt;LoqueseaPage.php&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-error&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Importante&lt;/h4&gt;
&lt;p class=&#34;content-alert&#34;&gt;El fichero que toca el sistema de plantillas siempre es &amp;ldquo;Loquesea.php&amp;rdquo;.  Los otros dos son para temas de configuraciones, funciones php, y extras que se hacen para cada página en concreto.&lt;/p&gt;
&lt;/div&gt;

&lt;h3 id=&#34;ruta-2&#34;&gt;Ruta 2&lt;/h3&gt;


&lt;div class=&#34;alert alert-exito&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Ruta 2&lt;/h4&gt;
&lt;p class=&#34;content-alert&#34;&gt;$widgetPath[]=PROJECTPATH.&amp;quot;/output/html/Widgets&amp;rdquo;;   📁&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Buscará dentro del proyecto: &lt;strong&gt;raíz/output/html/Widgets/nombreCarpeta/nombreComponente.wid&lt;/strong&gt; Donde:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nombreCarpeta&lt;/strong&gt; -&amp;gt; es la parte del widget a modelar&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nombreComponente.wid&lt;/strong&gt; -&amp;gt; es la semántica que tiene un componente asociado a un widget.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ruta-3&#34;&gt;Ruta 3&lt;/h3&gt;


&lt;div class=&#34;alert alert-exito&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Ruta 3&lt;/h4&gt;
&lt;p class=&#34;content-alert&#34;&gt;$widgetPath[]=PROJECTPATH; 📁&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Esta ruta, usualmente estará en vistas asociado a los sites de los modelos. Ejemplo: &lt;strong&gt;/model/web/objects/Site/html/views&lt;/strong&gt;&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
