For Seo purposes, I want to add a link to the product on the product view page, a link to the product category, and a link to the Home Page. By the way, I want to take a look at ALT, H1, title
And Other Related Seo elements. Community version magento is easier to achieve on the product view page. magento official forums also have a lot of related
Post.
Http://www.magentocommerce.com/boards/viewthread/19476/
Http://www.magentocommerce.com/boards/viewthread/18536/
Http://www.magentocommerce.com/boards/viewthread/195254/
<?php echo $this -> getProduct ()-> getCategory ()-> getName () ?>
<? PHP
Mage :: getBlockSingleton ( 'catalog/navigation' )-> getCurrentCategory ()
?> But obviously, these methods are not very satisfactory. there are one or more problems. in addition, if the template of other product details is used, these templates cannot be called at all. my idea is to first obtain the product and then obtain the category of the product. I am only talking about ideas. It turns out that either my thinking is wrong or a community version bug may not be a bug, but I didn't take the time to track the code. in magento, the first magento module provides the helper class, and the more standard syntax is to perform some operations in the template through these helper classes. get product $ _ helper = $ this-> helper ('catalog ') $ _ product =$ _ helper-> getproduct (); get category $ _ category =$ _ product-> getcategory (); or
$ _ Helper = $ this-> helper ('catalog '); $ _ Category = $ _ helper-> getcategory (); note that I have verified this idea myself, some templates do not work either. it's a bug, or other reasons. I haven't checked the code in depth. // The following method obtains the category through the product. In fact, I think this action should be put in a block and then called. $ _ Helper = $ this-> helper ('catalog/output ');
$ _ Product = $ this-> getproduct ();
$ _ Purl =$ _ product-> getproducturl ();
$ Categories = $ _ product-> getcategoryids ();
Foreach ($ categories as $ K =>$ _ category_id ){
$ _ Cat = Mage: GetModel ('catalog/Category ')-> load ($ _ category_id );
// $ _ Cat-> getname ();
Break;
}
// $ _ Cat =$ _ product-> getcategory ();
// $ _ Curl = $ _ cat-> geturl (); however, during the development of magento, we will inevitably encounter such a problem, the data magento we want does not provide the corresponding API interface. In this case, we may need to modify the corresponding block class and model class for implementation. in order to maintain compatibility with future magento versions, do not directly edit magento code files. Instead, you should create a name space in your own code pool) the simplest way is to use magento's default directory priority to put the new code in the corresponding directory of APP/code/local/mage. the model requests data from the database, the block requests data from the model, and the Helper requests data from the template, block, and model.