Magento EAV 属性の値は、PHP によって独自に解析されることはありません。ユーザーに表示するために、フロントエンド モデルを介してレンダリングされます。eav_attribute
例については、表を参照してください。
「URL全体を表示するのではなく、テキストリンクのみを表示したい」というコメントに基づいて、カスタムフロントエンドモデルの属性が必要です。カスタムフロントエンドモデルを追加できない管理パネルから追加されたと思います。フロントエンド モデルを追加するにはスクリプトが必要ですが、最初にスクリプトを使用して属性を追加することをお勧めします。
この属性を適切にインストールするには、Magento はセットアップ スクリプトを実行する必要があります。これは、(通常) PHP コードを表す Magento 用語であり、データベースを操作する機能を備えた 1 回だけ実行されます。これらを実行すると、モジュールが存在することが前提になります。
app/etc/modules/Your_Module.xml :
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Your_Module>
<active>true</active>
<codePool>local</codePool>
</Your_Module>
</modules>
</config>
app/code/local/Your/Module/etc/config.xml :
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Your_Module>
<version>1.0.0.0</version>
</Your_Module>
</modules>
<global>
<models>
<your_module>
<class>Your_Module_Model</class>
</your_module>
</models>
<resources>
<your_module_setup>
<setup>
<module>Your_Module</module>
</setup>
</your_module_setup>
</resources>
</global>
</config>
app/code/local/Your/Module/sql/your_module_setup/install-1.0.0.0.php :
<?php
$installer = Mage::getResourceModel('catalog/setup','catalog_setup');
/* @var $installer Mage_Catalog_Model_Resource_Setup */
$installer->startSteup();
$installer->addAttribute(
'catalog_product',
'unique_attr_code',
array(
'label' => 'Link to Product',
'required' => 'false', //or true if appropriate
'group' => 'General', //Adds to all sets
'frontend' => 'your_module/frontend_url'
)
);
$installer->endSetup();
app/code/local/Your/Module/Model/Frontend/Url.php :
class Your_Module_Model_Frontend_Url
extends Mage_Eav_Model_Entity_Attribute_Frontend_Abstract
{
public function getUrl($object)
{
$url = false;
if ($path = $object->getData($this->getAttribute()->getAttributeCode())) {
$url = Mage::getUrl('path');
}
return $url;
}
}