<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alisson O Blog &#187; Caminhos Físicos</title>
	<atom:link href="http://alisson.indexainternet.com.br/tag/caminhos-fisicos/feed/" rel="self" type="application/rss+xml" />
	<link>http://alisson.indexainternet.com.br</link>
	<description>Magento e os idiomas que o computador fala...</description>
	<lastBuildDate>Fri, 12 Feb 2010 12:31:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>URL e Caminhos Físicos do Magento (URL PATH e SERVER PATH)</title>
		<link>http://alisson.indexainternet.com.br/url-caminhos-fisicos-magento/</link>
		<comments>http://alisson.indexainternet.com.br/url-caminhos-fisicos-magento/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 17:26:10 +0000</pubDate>
		<dc:creator>Alisson Oldoni</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Caminhos Físicos]]></category>
		<category><![CDATA[diretórios]]></category>
		<category><![CDATA[resolver url]]></category>
		<category><![CDATA[SERVER PATH]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[URL PATH]]></category>

		<guid isPermaLink="false">http://alisson.indexainternet.com.br/?p=76</guid>
		<description><![CDATA[Algumas dicas sobre como resolver caminhos e URLs dentro do Magento]]></description>
			<content:encoded><![CDATA[<p>Aqui na Indexa temos desafios diários com a plataforma Magento. Uma das últimas empreitadas foi a montagem de uma loja-base que poderá ser instalada em várias subpastas, ou seja, todo o código tem de funcionar independente da localização do arquivo no servidor (e, no geral, sempre é bom se trabalhar com URLs relativas e não fixas).</p>
<p>O Magento tem algumas funções que te ajudam a se localizar em desafios deste tipo, a maioria criadas estaticamente dentro da classe Mage, estando assim disponíveis em qualquer arquivo dentro do Magento sem a necessidade de se instanciar um objeto para tal. Aqui vão algumas:<br />
<span id="more-76"></span></p>
<pre class="brush: php;">
echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl();
// http://www.meusitemagento.com/ - O mesmo que passando URL_TYPE_LINK

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
// http://www.meusitemagento.com/ - A url (porção com o nome do servidor) atualmente sendo utilizada para acessar o Magento (leva em conta se está usando https)

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
// http://www.meusitemagento.com/ - A url base do Magento (não leva em conta se está usando https)

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
// http://www.meusitemagento.com/media - A url da pasta &quot;media&quot;

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
// http://www.meusitemagento.com/skin - A url da pasta &quot;skin&quot;

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);
// http://www.meusitemagento.com/js - A url da pasta &quot;js&quot;

echo &quot;&lt;BR /&gt;&quot;.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_DIRECT_LINK);
// http://www.meusitemagento.com/ - A url base do Magento sem levar em conta a Loja atual

echo &quot;&lt;BR /&gt;&quot;.Mage::getRoot();
// /home/domains/meusitemagento.com/public_html/app - O caminho físico da pasta &quot;app&quot; da instalação atual do Magento
</pre>
<p>Note que a função Mage::getBaseUrl() retorna por padrão o mesmo que retornaria se passássemos Mage_Core_Model_Store::URL_TYPE_LINK como parâmetro, que é a URL base http, independente se no momento o site estiver em modo seguro (https) ou inseguro (http).</p>
<div style="height:15px;">&nbsp;</div>
<p><strong>Dicas:</strong></p>
<ul>
<li>Um jeito rápido de descobrir qual o seu diretório de trabalho no servidor (um nível acima da pasta app do seu magento):</li>
</ul>
<pre class="brush: php;">
echo &quot;&lt;BR /&gt;&quot;.substr(Mage::getRoot(),0,strlen(Mage::getRoot())-4);
// /home/domains/meusitemagento.com/public_html/
</pre>
<ul>
<li>Para descobrir URLs e subdiretórios:</li>
</ul>
<pre class="brush: php;">
echo &quot;&lt;BR /&gt;&quot;.Mage::getUrl('');
// http://www.meusitemagento.com/ - A url do seu site

echo &quot;&lt;BR /&gt;&quot;.Mage::getUrl('customer/account');
// http://www.meusitemagento.com/customer/account/ - A url para o painel da conta do usuário

echo &quot;&lt;BR /&gt;&quot;.Mage::getUrl('', array('_secure'=&gt;true));
// https://www.meusitemagentoseguro.com/ - Força a recuperação da URL configurada para ser utilizada quando em modo seguro (HTTPS)
</pre>
<p>A função Mage::getUrl() aceita um segundo parâmetro, que, como no último exemplo acima, é um array. Este array contém nas chaves uma ou mais das opções que desejarmos passar, e, em cada parâmetro, o valor pode ser <em>false </em>ou <em>true</em>. Sendo assim, além de &#8220;_secure&#8221; podemos ter:</p>
<ol>
<li>_current : A URL atual</li>
<li>_use_rewrite : Força o uso de URL rewrite</li>
<li>_nosid : URL sem o ID da sessão do PHP (o SID sempre é passado quando se muda da url insegura para a url segura e vice-versa, ou em qualquer mudança de url aonde a sessão seria perdida caso o SID não fosse passado)</li>
<li>&#8230; Entre outros parâmteros encontrados em app/code/core/Mage/Core/Model/Url.php</li>
</ol>
<ul>
<li>Descobrir facilmente arquivos da pasta &#8220;skin&#8221;:</li>
</ul>
<pre class="brush: php;">
echo &quot;&lt;BR /&gt;&quot;.$this-&gt;getSkinUrl();
// http://www.meusitemagento.com/skin/frontend/MEU-PACKAGE/MEU-TEMA/

echo &quot;&lt;BR /&gt;&quot;.$this-&gt;getSkinUrl(&quot;images/icon_rss.gif&quot;);
// http://www.meusitemagento.com/skin/frontend/MEU-PACKAGE/MEU-TEMA/images/icon_rss.gif - O Magento tenta achar esta imagem dentro do tema configurado, caso ele não ache ele tenta dentro de http://www.meusitemagento.com/skin/frontend/default/default, nesta ordem.
</pre>
<ul>
<li>Dentro do arquivo app/code/core/Mage/Core/Model/Url.php existe no cabeçalho um esquema (praticamente em ASCII-art, hehe) explicando a nomenclatura que o Magento usa para cada porção da estrutura de uma URL.</li>
</ul>
<p>Abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://alisson.indexainternet.com.br/url-caminhos-fisicos-magento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

