What you're seeing is Magento's class alias system. What you're asking for is how to translate a class alias into a class name, and subsequently how a class name translates to a file path.
TL;DR: The class you're looking for might be in app/code/local/Ves/Tempcp/Helper/Framework.php
Continue reading for more background about this.
Class Aliases
Magento uses a concept called a "class alias" that every module in app/code/*
should define. See some examples below:
# File: app/code/core/Mage/Catalog/etc/config.xml
...
<global>
<models>
<catalog>
<class>Mage_Catalog_Model</class>
<resourceModel>catalog_resource</resourceModel>
</catalog>
...
See the node <catalog>
and its child <class>
- "catalog" is the alias that Magento will use to resolve to the class prefix "Mage_Catalog_Model." This is defined in the context of models, and you will see a similar definition for blocks and helpers.
So when you want to call a helper with Mage::helper('module/helper')
Magento will consult the configuration XML to lookup that alias. If found, it will replace it with the class name prefix, followed by a transformed version of everything after the /
in the alias.
Your above call for a helper in the template translates something like this:
ves_tempcp/framework ==> Namespace_Module_Helper_Framework
Where Namespace_Module
will be derived from what this module's config.xml
declares as its alias.
Class - File Path Relationship
It can roughly be said that a class name approximates the file path if you replace underscores with directory separators, ie:
class Mage_Catalog_Model_Category ==> [app/code/core/]Mage/Catalog/Model/Category.php
The path part in brackets is defined as part of Magento autoloading system.
There are some good resources by Alan Storm that touches on how the alias system works, and how Magento uses it to locate files:
http://alanstorm.com/magento_config
http://alanstorm.com/magento_class_abstration_autoload