Version Notes
First stable version of TagMan Intellitag extension
Download this release
Release Info
| Developer | Toby Doig |
| Extension | Tagman_Intellitag |
| Version | 1.0.0 |
| Comparing to | |
| See all releases | |
Version 1.0.0
- app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables.php +14 -0
- app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Edit.php +26 -0
- app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Edit/Form.php +267 -0
- app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Grid.php +75 -0
- app/code/community/Tagman/Intellitag/Block/Field.php +87 -0
- app/code/community/Tagman/Intellitag/Block/JsInjector.php +190 -0
- app/code/community/Tagman/Intellitag/Block/Select.php +14 -0
- app/code/community/Tagman/Intellitag/Block/Text.php +14 -0
- app/code/community/Tagman/Intellitag/Helper/Data.php +4 -0
- app/code/community/Tagman/Intellitag/Model/Mysql4/Variables.php +8 -0
- app/code/community/Tagman/Intellitag/Model/Mysql4/Variables/Collection.php +8 -0
- app/code/community/Tagman/Intellitag/Model/System/Config/Source/Model/Select.php +20 -0
- app/code/community/Tagman/Intellitag/Model/Variables.php +8 -0
- app/code/community/Tagman/Intellitag/controllers/Adminhtml/VariablesController.php +157 -0
- app/code/community/Tagman/Intellitag/etc/adminhtml.xml +50 -0
- app/code/community/Tagman/Intellitag/etc/config.xml +90 -0
- app/code/community/Tagman/Intellitag/etc/system.xml +78 -0
- app/code/community/Tagman/Intellitag/sql/tagman_intellitag_setup/mysql4-install-1.0.0.php +34 -0
- app/design/adminhtml/default/default/layout/tagman/intellitag.xml +8 -0
- app/design/frontend/base/default/layout/tagman_intellitag.xml +31 -0
- app/design/frontend/base/default/template/tagman_intellitag/jsinjector.phtml +1 -0
- app/etc/modules/Tagman_Intellitag.xml +9 -0
- package.xml +19 -0
app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables.php
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Adminhtml_Variables extends Mage_Adminhtml_Block_Widget_Grid_Container
|
| 3 |
+
{
|
| 4 |
+
public function __construct()
|
| 5 |
+
{
|
| 6 |
+
parent::__construct();
|
| 7 |
+
|
| 8 |
+
$this->_blockGroup = 'tagman_intellitag';
|
| 9 |
+
$this->_controller = 'adminhtml_variables';
|
| 10 |
+
$this->_headerText = $this->__('Variables');
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
}
|
| 14 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Edit.php
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Adminhtml_Variables_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
|
| 3 |
+
{
|
| 4 |
+
|
| 5 |
+
public function __construct()
|
| 6 |
+
{
|
| 7 |
+
$this->_blockGroup = 'tagman_intellitag';
|
| 8 |
+
$this->_controller = 'adminhtml_variables';
|
| 9 |
+
|
| 10 |
+
$this->_updateButton('save', 'label', $this->__('Save Variable'));
|
| 11 |
+
$this->_updateButton('delete', 'label', $this->__('Delete Variable'));
|
| 12 |
+
|
| 13 |
+
parent::__construct();
|
| 14 |
+
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
public function getHeaderText()
|
| 18 |
+
{
|
| 19 |
+
if (Mage::registry('tagman_intellitag')->getId()) {
|
| 20 |
+
return $this->__('Edit Variable');
|
| 21 |
+
}
|
| 22 |
+
else {
|
| 23 |
+
return $this->__('New Variable');
|
| 24 |
+
}
|
| 25 |
+
}
|
| 26 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Edit/Form.php
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Adminhtml_Variables_Edit_Form extends Mage_Adminhtml_Block_Widget_Form{
|
| 3 |
+
|
| 4 |
+
public function __construct(){
|
| 5 |
+
parent::__construct();
|
| 6 |
+
$this->setId('tagman_intelllitag_variables_form');
|
| 7 |
+
$this->setTitle($this->__('Variable Information'));
|
| 8 |
+
}
|
| 9 |
+
|
| 10 |
+
protected function _prepareForm(){
|
| 11 |
+
$lmModelFromRegistry = Mage::registry('tagman_intellitag');
|
| 12 |
+
|
| 13 |
+
$loForm = new Varien_Data_Form(array(
|
| 14 |
+
'id' => 'edit_form',
|
| 15 |
+
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
|
| 16 |
+
'method' => 'post'
|
| 17 |
+
));
|
| 18 |
+
$loFieldSet = $loForm->addFieldset('information_fieldset', array(
|
| 19 |
+
'legend' => Mage::helper('tagman_intellitag')->__('Variable Information'),
|
| 20 |
+
'class' => 'fieldset-wide',
|
| 21 |
+
));
|
| 22 |
+
if ($lmModelFromRegistry->getId()){
|
| 23 |
+
$loFieldSet->addField('id', 'hidden', array(
|
| 24 |
+
'name' => 'id',
|
| 25 |
+
));
|
| 26 |
+
}
|
| 27 |
+
$loFieldSet->addField('value', 'hidden', array(
|
| 28 |
+
'name' => 'value'
|
| 29 |
+
));
|
| 30 |
+
$loFieldSet->addField('name', 'text', array(
|
| 31 |
+
'name' => 'name',
|
| 32 |
+
'label' => Mage::helper('tagman_intellitag')->__('Name'),
|
| 33 |
+
'title' => Mage::helper('tagman_intellitag')->__('Name'),
|
| 34 |
+
'required' => true
|
| 35 |
+
));
|
| 36 |
+
$loFieldVariableType = $loFieldSet->addField('is_static', 'select', array(
|
| 37 |
+
'name' => 'is_static',
|
| 38 |
+
'label' => Mage::helper('tagman_intellitag')->__('Type'),
|
| 39 |
+
'title' => Mage::helper('tagman_intellitag')->__('is_static'),
|
| 40 |
+
'options' => array('1' => 'Static Variable','2' => 'Magento Variable'),
|
| 41 |
+
'required' => true
|
| 42 |
+
));
|
| 43 |
+
$loFieldMagentoValue = $loFieldSet->addField('magento_value', 'hidden', array(
|
| 44 |
+
'name' => 'magento_value',
|
| 45 |
+
'label' => Mage::helper('tagman_intellitag')->__('Value'),
|
| 46 |
+
'title' => Mage::helper('tagman_intellitag')->__('Magento Varaible')
|
| 47 |
+
));
|
| 48 |
+
$loFieldStaticValue = $loFieldSet->addField('static_value', 'text', array(
|
| 49 |
+
'name' => 'static_value',
|
| 50 |
+
'label' => Mage::helper('tagman_intellitag')->__('Value'),
|
| 51 |
+
'title' => Mage::helper('tagman_intellitag')->__('Static Variable'),
|
| 52 |
+
'required' => true
|
| 53 |
+
));
|
| 54 |
+
|
| 55 |
+
//define models for dropdown
|
| 56 |
+
|
| 57 |
+
$laModelsForDropdownList=array('catalog/category'=>'catalog/category',
|
| 58 |
+
'catalog/product'=>'catalog/product',
|
| 59 |
+
'customer/customer'=>'customer/customer',
|
| 60 |
+
'sales/order'=>'sales/order',
|
| 61 |
+
'sales/quote'=>'sales/quote');
|
| 62 |
+
|
| 63 |
+
$loFieldMagentoModelSelect = $loFieldSet->addField('magento_model', 'select', array(
|
| 64 |
+
'name' => 'magento_model',
|
| 65 |
+
'label' => Mage::helper('tagman_intellitag')->__('Model'),
|
| 66 |
+
'title' => Mage::helper('tagman_intellitag')->__('Magento Model'),
|
| 67 |
+
'required' => true,
|
| 68 |
+
'options' => $laModelsForDropdownList
|
| 69 |
+
));
|
| 70 |
+
|
| 71 |
+
foreach($laModelsForDropdownList as $tsCurrentModelName){
|
| 72 |
+
$taPropertiesForDropdownList=null;
|
| 73 |
+
$tmCurrentlyLoadedModel = Mage::getModel($tsCurrentModelName);
|
| 74 |
+
$tsPropertyIdForHTML=str_replace("/","_",$tsCurrentModelName);
|
| 75 |
+
$tsPropertyIdForHTML.="_property";
|
| 76 |
+
$tsPropertyNameForHTML=$tsPropertyIdForHTML;
|
| 77 |
+
|
| 78 |
+
foreach (get_class_methods(get_class($tmCurrentlyLoadedModel)) as $tsCurrentMethodName){
|
| 79 |
+
$tsFormatedMethodName=substr($tsCurrentMethodName,3,strlen($tsCurrentMethodName));
|
| 80 |
+
$toReflectionMethod = new ReflectionMethod(get_class($tmCurrentlyLoadedModel),$tsCurrentMethodName);
|
| 81 |
+
$toReflectionParameters = $toReflectionMethod->getParameters();
|
| 82 |
+
|
| 83 |
+
//define dynamic methods that shouldn't be displayed
|
| 84 |
+
switch($tsCurrentModelName){
|
| 85 |
+
case 'catalog/category':
|
| 86 |
+
$laFilteredOutMethods = array('getDesignAttributes','getUrlInstance','getCacheIdTags','getCacheTags');
|
| 87 |
+
break;
|
| 88 |
+
case 'customer/customer':
|
| 89 |
+
$laFilteredOutMethods = array('getEntityType','getStore','getCacheIdTags','getCacheTags','getPrimaryBillingAddress','getDefaultBillingAddress','getPrimaryShippingAddress','getDefaultShippingAddress');
|
| 90 |
+
break;
|
| 91 |
+
case 'sales/order':
|
| 92 |
+
$laFilteredOutMethods = array('getCacheIdTags','getCacheTags','getBillingAddress','getShippingAddress','getPayment','getShippingCarrier');
|
| 93 |
+
break;
|
| 94 |
+
case 'sales/quote':
|
| 95 |
+
$laFilteredOutMethods = array('getStore','getCacheIdTags','getCacheTags');
|
| 96 |
+
break;
|
| 97 |
+
case 'catalog/product':
|
| 98 |
+
$laFilteredOutMethods = array('getCacheIdTags','getCacheTags');
|
| 99 |
+
break;
|
| 100 |
+
default:
|
| 101 |
+
break;
|
| 102 |
+
}
|
| 103 |
+
if(preg_match('/get/',$tsCurrentMethodName) && substr($tsCurrentMethodName,0,1)!="_" && count($toReflectionParameters)==0 && !in_array($tsCurrentMethodName,$laFilteredOutMethods)){
|
| 104 |
+
try{
|
| 105 |
+
$property_type = gettype($tmCurrentlyLoadedModel->$tsCurrentMethodName());
|
| 106 |
+
}
|
| 107 |
+
catch(Exception $e){
|
| 108 |
+
$property_type="NULL";
|
| 109 |
+
}
|
| 110 |
+
switch($property_type){
|
| 111 |
+
case 'object':
|
| 112 |
+
$loObject=$tmCurrentlyLoadedModel->$tsCurrentMethodName();
|
| 113 |
+
$loObjectVariables=get_object_vars($loObject);
|
| 114 |
+
if(count($loObjectVariables)>0){
|
| 115 |
+
$taReturnedDataArray=$loObject->getData();
|
| 116 |
+
$taKeysList=array_keys($taReturnedDataArray);
|
| 117 |
+
foreach($taKeysList as $tsKey){
|
| 118 |
+
$tsMethodNameExtension=str_replace("_"," ",$tsKey);
|
| 119 |
+
$tsMethodNameExtension=ucwords($tsMethodNameExtension);
|
| 120 |
+
$tsMethodNameExtension=str_replace(" ","",$tsMethodNameExtension);
|
| 121 |
+
$tsPropertyDropdownValue = $tsCurrentMethodName."&&get".$tsMethodNameExtension;
|
| 122 |
+
$taPropertiesForDropdownList[$tsPropertyDropdownValue]=$tsFormatedMethodName.' / '.$tsMethodNameExtension;
|
| 123 |
+
}
|
| 124 |
+
}
|
| 125 |
+
break;
|
| 126 |
+
case 'array':
|
| 127 |
+
$taReturnedArray = $tmCurrentlyLoadedModel->$tsCurrentMethodName();
|
| 128 |
+
if(count($taReturnedArray)>0){
|
| 129 |
+
switch($taReturnedArray[0]){
|
| 130 |
+
case 'string':
|
| 131 |
+
case 'integer':
|
| 132 |
+
case 'double':
|
| 133 |
+
case 'boolean':
|
| 134 |
+
$taPropertiesForDropdownList[$tsCurrentMethodName]=$tsFormatedMethodName;
|
| 135 |
+
break;
|
| 136 |
+
case 'NULL':
|
| 137 |
+
case 'array':
|
| 138 |
+
break;
|
| 139 |
+
case 'object':
|
| 140 |
+
$loObjectArray=$tmCurrentlyLoadedModel->$tsCurrentMethodName();
|
| 141 |
+
foreach($loObjectArray as $loObject){
|
| 142 |
+
$loObjectVariables=get_object_vars($loObject);
|
| 143 |
+
if(count($loObjectVariables)>0){
|
| 144 |
+
$taReturnedDataArray = $loObject->getData();
|
| 145 |
+
$taKeysList=array_keys($taReturnedDataArray);
|
| 146 |
+
foreach($taKeysList as $tsKey){
|
| 147 |
+
$tsMethodNameExtension = str_replace("_"," ",$tsKey);
|
| 148 |
+
$tsMethodNameExtension = ucwords($tsMethodNameExtension);
|
| 149 |
+
$tsMethodNameExtension = str_replace(" ","",$tsMethodNameExtension);
|
| 150 |
+
$tsPropertyDropdownValue = $tsCurrentMethodName."&&get".$tsMethodNameExtension;
|
| 151 |
+
$taPropertiesForDropdownList[$tsPropertyDropdownValue]=$tsFormatedMethodName.' / '.$tsMethodNameExtension;
|
| 152 |
+
}
|
| 153 |
+
}
|
| 154 |
+
}
|
| 155 |
+
default:
|
| 156 |
+
break;
|
| 157 |
+
}
|
| 158 |
+
}
|
| 159 |
+
break;
|
| 160 |
+
case 'string':
|
| 161 |
+
case 'integer':
|
| 162 |
+
case 'boolean':
|
| 163 |
+
case 'double':
|
| 164 |
+
$taPropertiesForDropdownList[$tsCurrentMethodName]=$tsFormatedMethodName;
|
| 165 |
+
break;
|
| 166 |
+
case 'NULL':
|
| 167 |
+
break;
|
| 168 |
+
default:
|
| 169 |
+
$taPropertiesForDropdownList[$tsCurrentMethodName]=$tsFormatedMethodName.'('.$property_type.') - NOT HANDELD';
|
| 170 |
+
break;
|
| 171 |
+
}
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
// add options manualy for models/methodes that are not initiated in backend
|
| 175 |
+
|
| 176 |
+
switch($tsCurrentModelName){
|
| 177 |
+
case 'catalog/category':
|
| 178 |
+
$taHardcodedMethodsList=array('getName','getId','getStoreIds');
|
| 179 |
+
break;
|
| 180 |
+
case 'catalog/product':
|
| 181 |
+
$taHardcodedMethodsList=array('getName','getPrice','getGroupPrice','getCalculatedFinalPrice','getMinimalPrice','getSpecialPrice','getSpecialFromDate','getSpecialToDate','getSku','getWeight','getId','getCategoryIds','getStoreIds','getRelatedProductIds','getUpSellProductIds','getCrossSellProductIds','getPrimaryAddressIds');
|
| 182 |
+
break;
|
| 183 |
+
case 'sales/order':
|
| 184 |
+
$taHardcodedMethodsList=array('getRealOrderId','getStoreCurrency','getId','getTrackingNumbers');
|
| 185 |
+
if($tsCurrentMethodName=="getAllItems"){
|
| 186 |
+
$laObjectPropertyStrings = array('getProductId','getName','getSku','getQty','getPrice');
|
| 187 |
+
foreach($laObjectPropertyStrings as $tsObjectProperty){
|
| 188 |
+
$tsNameExtension=substr($tsObjectProperty,3);
|
| 189 |
+
$tsPropertyDropdownValue = $tsCurrentMethodName."&&".$tsObjectProperty;
|
| 190 |
+
$taPropertiesForDropdownList[$tsPropertyDropdownValue]=$tsFormatedMethodName.' / '.$tsNameExtension;
|
| 191 |
+
next($laObjectPropertyStrings);
|
| 192 |
+
}
|
| 193 |
+
}
|
| 194 |
+
break;
|
| 195 |
+
case 'customer/customer':
|
| 196 |
+
$taHardcodedMethodsList=array('getId','getPrimaryAddressIds');
|
| 197 |
+
break;
|
| 198 |
+
case 'sales/quote':
|
| 199 |
+
$taHardcodedMethodsList=array('getId');
|
| 200 |
+
if($tsCurrentMethodName=="getAllItems"){
|
| 201 |
+
$laObjectPropertyStrings = array('getProductId','getName','getSku','getQty','getPrice');
|
| 202 |
+
foreach($laObjectPropertyStrings as $tsObjectProperty){
|
| 203 |
+
$tsNameExtension=substr($tsObjectProperty,3);
|
| 204 |
+
$tsPropertyDropdownValue = $tsCurrentMethodName."&&".$tsObjectProperty;
|
| 205 |
+
$taPropertiesForDropdownList[$tsPropertyDropdownValue]=$tsFormatedMethodName.' / '.$tsNameExtension;
|
| 206 |
+
next($laObjectPropertyStrings);
|
| 207 |
+
}
|
| 208 |
+
}
|
| 209 |
+
break;
|
| 210 |
+
default:
|
| 211 |
+
$taHardcodedMethodsList=array('');
|
| 212 |
+
break;
|
| 213 |
+
}
|
| 214 |
+
if (in_array($tsCurrentMethodName, $taHardcodedMethodsList)) {
|
| 215 |
+
$taPropertiesForDropdownList[$tsCurrentMethodName]=$tsFormatedMethodName;
|
| 216 |
+
}
|
| 217 |
+
}
|
| 218 |
+
$laFieldModelProperty[] = $loFieldSet->addField($tsPropertyIdForHTML, 'select', array(
|
| 219 |
+
'name' => $tsPropertyNameForHTML,
|
| 220 |
+
'label' => Mage::helper('tagman_intellitag')->__('Property'),
|
| 221 |
+
'title' => Mage::helper('tagman_intellitag')->__($tsPropertyIdForHTML),
|
| 222 |
+
'required' => true,
|
| 223 |
+
'options' => $taPropertiesForDropdownList
|
| 224 |
+
|
| 225 |
+
));
|
| 226 |
+
}
|
| 227 |
+
if($lmModelFromRegistry->getData('is_static')==2){
|
| 228 |
+
$taData=explode("&&",$lmModelFromRegistry->getData('magento_value'));
|
| 229 |
+
$tsFieldName=str_replace("/","_",$taData[0]);
|
| 230 |
+
$tsFieldName.="_property";
|
| 231 |
+
$lmModelFromRegistry->setData('magento_model',$taData[0]);
|
| 232 |
+
if(isset($taData[2])){
|
| 233 |
+
$lmModelFromRegistry->setData($tsFieldName,$taData[1].'&&'.$taData[2]);
|
| 234 |
+
}
|
| 235 |
+
else{
|
| 236 |
+
$lmModelFromRegistry->setData($tsFieldName,$taData[1]);
|
| 237 |
+
}
|
| 238 |
+
}
|
| 239 |
+
$loForm->setValues($lmModelFromRegistry->getData());
|
| 240 |
+
$loForm->setUseContainer(true);
|
| 241 |
+
$this->setForm($loForm);
|
| 242 |
+
|
| 243 |
+
$this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence','dependence_fields')
|
| 244 |
+
->addFieldMap($loFieldVariableType->getHtmlId(), $loFieldVariableType->getName())
|
| 245 |
+
->addFieldMap($loFieldMagentoValue->getHtmlId(), $loFieldMagentoValue->getName())
|
| 246 |
+
->addFieldMap($loFieldStaticValue->getHtmlId(), $loFieldStaticValue->getName())
|
| 247 |
+
->addFieldMap($loFieldMagentoModelSelect->getHtmlId(), $loFieldMagentoModelSelect->getName())
|
| 248 |
+
->addFieldDependence(
|
| 249 |
+
$loFieldStaticValue->getName(),
|
| 250 |
+
$loFieldVariableType->getName(),
|
| 251 |
+
'1')
|
| 252 |
+
->addFieldDependence(
|
| 253 |
+
$loFieldMagentoModelSelect->getName(),
|
| 254 |
+
$loFieldVariableType->getName(),
|
| 255 |
+
'2'));
|
| 256 |
+
foreach($laModelsForDropdownList as $tsCurrentModelName){
|
| 257 |
+
$modelName[]=$tsCurrentModelName;
|
| 258 |
+
}
|
| 259 |
+
$block = $this->getChild('form_after');
|
| 260 |
+
for($i=0;$i<count($laFieldModelProperty);$i++){
|
| 261 |
+
$block->addFieldMap($laFieldModelProperty[$i]->getHtmlId(), $laFieldModelProperty[$i]->getName());
|
| 262 |
+
$block->addFieldDependence($laFieldModelProperty[$i]->getName(),$loFieldMagentoModelSelect->getName(),$modelName[$i]);
|
| 263 |
+
$block->addFieldDependence($laFieldModelProperty[$i]->getName(),$loFieldVariableType->getName(),'2');
|
| 264 |
+
}
|
| 265 |
+
return parent::_prepareForm();
|
| 266 |
+
}
|
| 267 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Adminhtml/Variables/Grid.php
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Adminhtml_Variables_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
| 3 |
+
{
|
| 4 |
+
public function __construct()
|
| 5 |
+
{
|
| 6 |
+
parent::__construct();
|
| 7 |
+
|
| 8 |
+
// Set some defaults for our grid
|
| 9 |
+
$this->setDefaultSort('id');
|
| 10 |
+
$this->setId('tagman_intellitag_variables_grid');
|
| 11 |
+
$this->setDefaultDir('asc');
|
| 12 |
+
$this->setSaveParametersInSession(true);
|
| 13 |
+
$this->setUseAjax(true);
|
| 14 |
+
//$this->setPagerVisibility(false);
|
| 15 |
+
//$this->setFilterVisibility(false);
|
| 16 |
+
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
protected function _getCollectionClass()
|
| 20 |
+
{
|
| 21 |
+
// This is the model we are using for the grid
|
| 22 |
+
return 'tagman_intellitag/variables_collection';
|
| 23 |
+
}
|
| 24 |
+
|
| 25 |
+
protected function _prepareCollection()
|
| 26 |
+
{
|
| 27 |
+
// Get and set our collection for the grid
|
| 28 |
+
$collection = Mage::getResourceModel($this->_getCollectionClass());
|
| 29 |
+
$this->setCollection($collection);
|
| 30 |
+
|
| 31 |
+
return parent::_prepareCollection();
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
protected function _prepareColumns()
|
| 35 |
+
{
|
| 36 |
+
// Add the columns that should appear in the grid
|
| 37 |
+
$this->addColumn('id',
|
| 38 |
+
array(
|
| 39 |
+
'header'=> $this->__('ID'),
|
| 40 |
+
'align' =>'right',
|
| 41 |
+
'width' => '50px',
|
| 42 |
+
'index' => 'id'
|
| 43 |
+
)
|
| 44 |
+
);
|
| 45 |
+
|
| 46 |
+
$this->addColumn('name',
|
| 47 |
+
array(
|
| 48 |
+
'header'=> $this->__('Name'),
|
| 49 |
+
'index' => 'name'
|
| 50 |
+
)
|
| 51 |
+
);
|
| 52 |
+
|
| 53 |
+
$this->addColumn('value',
|
| 54 |
+
array(
|
| 55 |
+
'header'=> $this->__('Value'),
|
| 56 |
+
'index' => 'value'
|
| 57 |
+
)
|
| 58 |
+
);
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
return parent::_prepareColumns();
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
public function getRowUrl($row)
|
| 65 |
+
{
|
| 66 |
+
// This is where our row data will link to
|
| 67 |
+
return $this->getUrl('*/*/edit', array('id' => $row->getId()));
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
public function getGridUrl()
|
| 71 |
+
{
|
| 72 |
+
return $this->getUrl('*/*/grid', array('_current'=>true));
|
| 73 |
+
|
| 74 |
+
}
|
| 75 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Field.php
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
|
| 3 |
+
class Tagman_Intellitag_Block_Field
|
| 4 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
| 5 |
+
{
|
| 6 |
+
protected $_DropDownRenderer;
|
| 7 |
+
protected $_TextFieldRenderer;
|
| 8 |
+
|
| 9 |
+
public function __construct()
|
| 10 |
+
{
|
| 11 |
+
parent::__construct();
|
| 12 |
+
}
|
| 13 |
+
|
| 14 |
+
protected function _getDropDownRenderer()
|
| 15 |
+
{
|
| 16 |
+
if (!$this->_DropDownRenderer) {
|
| 17 |
+
$this->_DropDownRenderer = $this->getLayout()
|
| 18 |
+
->createBlock('tagman_intellitag/select')
|
| 19 |
+
->setIsRenderToJsTemplate(true);
|
| 20 |
+
}
|
| 21 |
+
return $this->_DropDownRenderer;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
protected function _getTextFieldRenderer()
|
| 25 |
+
{
|
| 26 |
+
if (!$this->_TextFieldRenderer) {
|
| 27 |
+
$this->_TextFieldRenderer = $this->getLayout()
|
| 28 |
+
->createBlock('tagman_intellitag/text')
|
| 29 |
+
->setIsRenderToJsTemplate(true);
|
| 30 |
+
}
|
| 31 |
+
return $this->_TextFieldRenderer;
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
protected function _prepareToRender()
|
| 35 |
+
{
|
| 36 |
+
$this->_DropDownRenderer = null;
|
| 37 |
+
$this->_TextFieldRenderer = null;
|
| 38 |
+
|
| 39 |
+
$this->addColumn('text_field', array(
|
| 40 |
+
'label' => Mage::helper('tagman_intellitag')->__('Name'),
|
| 41 |
+
'renderer' => 'false'
|
| 42 |
+
|
| 43 |
+
));
|
| 44 |
+
$this->addColumn('drop_down', array(
|
| 45 |
+
'label' => Mage::helper('tagman_intellitag')->__('Value')
|
| 46 |
+
));
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
// Disables "Add after" button
|
| 50 |
+
$this->_addAfter = false;
|
| 51 |
+
$this->_addButtonLabel = Mage::helper('tagman_intellitag')->__('Add New');
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
protected function _renderCellTemplate($columnName)
|
| 55 |
+
{
|
| 56 |
+
$inputName = $this->getElement()->getName() . '[#{_id}][' . $columnName . ']';
|
| 57 |
+
|
| 58 |
+
if ($columnName=="drop_down") {
|
| 59 |
+
return $this->_getDropDownRenderer()
|
| 60 |
+
->setName($inputName)
|
| 61 |
+
->setTitle($columnName)
|
| 62 |
+
->setExtraParams('style="width:200px"')
|
| 63 |
+
->setOptions(
|
| 64 |
+
// The source model defined in system config XML!
|
| 65 |
+
$this->getElement()->getValues())
|
| 66 |
+
->toHtml();
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
return parent::_renderCellTemplate($columnName);
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
protected function _prepareArrayRow(Varien_Object $row)
|
| 73 |
+
{
|
| 74 |
+
$row->setData(
|
| 75 |
+
'option_extra_attr_' . $this->_getDropDownRenderer()->calcOptionHash(
|
| 76 |
+
$row->getData('drop_down')),
|
| 77 |
+
'selected="selected"'
|
| 78 |
+
);
|
| 79 |
+
/*
|
| 80 |
+
$row->setData(
|
| 81 |
+
'option_extra_attr_' . $this->_getSeconFieldRenderer()->calcOptionHash(
|
| 82 |
+
$row->getData('second_field')),
|
| 83 |
+
'selected="selected"'
|
| 84 |
+
);
|
| 85 |
+
*/
|
| 86 |
+
}
|
| 87 |
+
}
|
app/code/community/Tagman/Intellitag/Block/JsInjector.php
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_JsInjector
|
| 3 |
+
extends Mage_Core_Block_Template
|
| 4 |
+
{
|
| 5 |
+
|
| 6 |
+
public function addTagManJavascriptBlock()
|
| 7 |
+
{
|
| 8 |
+
|
| 9 |
+
$client = Mage::getStoreConfig('tab1/credentials/client_id_text_field',Mage::app()->getStore());
|
| 10 |
+
$site = Mage::getStoreConfig('tab1/credentials/site_id_text_field',Mage::app()->getStore());
|
| 11 |
+
$host = Mage::getStoreConfig('tab1/credentials/host_text_field',Mage::app()->getStore());
|
| 12 |
+
|
| 13 |
+
//page_type
|
| 14 |
+
$controlerName = Mage::app()->getRequest()->getControllerName();
|
| 15 |
+
|
| 16 |
+
$tmParams = $this->getTmParams();
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
$js = '
|
| 20 |
+
<script type="text/javascript">
|
| 21 |
+
window.tmParam = {
|
| 22 |
+
page_type: "'.$controlerName.'"'.$tmParams.'
|
| 23 |
+
};
|
| 24 |
+
</script>
|
| 25 |
+
|
| 26 |
+
<script type="text/javascript">
|
| 27 |
+
|
| 28 |
+
(function(d,s){
|
| 29 |
+
var client = "'.$client.'";
|
| 30 |
+
var siteId = '.$site.';
|
| 31 |
+
// do not edit
|
| 32 |
+
var a=d.createElement(s),b=d.getElementsByTagName(s)[0];
|
| 33 |
+
a.async=true;a.type="text/javascript";
|
| 34 |
+
a.src="//'.$host.'/clients/"+client+"/"+siteId+".js";
|
| 35 |
+
a.tagman="st=(" + new Date() +")&c=" + client + "&sid=" + siteId;
|
| 36 |
+
b.parentNode.insertBefore(a,b);
|
| 37 |
+
})(document,"script");
|
| 38 |
+
|
| 39 |
+
</script>';
|
| 40 |
+
|
| 41 |
+
return ($js);
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
private function getTmParams()
|
| 45 |
+
{
|
| 46 |
+
$variables = unserialize(Mage::getStoreConfig("tab1/variables/field"));
|
| 47 |
+
$cModel = Mage::getModel('tagman_intellitag/variables');
|
| 48 |
+
$tmParam = '';
|
| 49 |
+
$prefix = ',
|
| 50 |
+
';
|
| 51 |
+
foreach($variables as $var){
|
| 52 |
+
$name = $var['text_field'];
|
| 53 |
+
$varId = $var['drop_down'];
|
| 54 |
+
$cModel->load($varId);
|
| 55 |
+
$isStatic=$cModel->getData('is_static');
|
| 56 |
+
if($isStatic==1){
|
| 57 |
+
$tmParam .= $prefix . $name.': '. '"' . $cModel->getValue() .'"';
|
| 58 |
+
} else {
|
| 59 |
+
$dynamic = explode('&&', $cModel->getData('magento_value'));
|
| 60 |
+
$tmp_model = Mage::getModel($dynamic[0]);
|
| 61 |
+
|
| 62 |
+
switch($dynamic[0]){
|
| 63 |
+
case 'catalog/product':
|
| 64 |
+
$tmParam .= $this->getCatalogProduct($prefix, $name, $tmp_model, $dynamic);
|
| 65 |
+
break;
|
| 66 |
+
case 'catalog/category':
|
| 67 |
+
$tmParam .= $this->getCatalogCategory($prefix, $name, $tmp_model, $dynamic);
|
| 68 |
+
break;
|
| 69 |
+
case 'customer/customer':
|
| 70 |
+
$tmParam .= $this->getCustomerCustomer($prefix, $name, $tmp_model, $dynamic);
|
| 71 |
+
break;
|
| 72 |
+
case 'sales/order':
|
| 73 |
+
$tmParam .= $this->getSalesOrder($prefix, $name, $tmp_model, $dynamic);
|
| 74 |
+
break;
|
| 75 |
+
case 'sales/quote':
|
| 76 |
+
$tmParam .= $this->getSalesQuote($prefix, $name, $tmp_model, $dynamic);
|
| 77 |
+
break;
|
| 78 |
+
default:
|
| 79 |
+
|
| 80 |
+
break;
|
| 81 |
+
}
|
| 82 |
+
}
|
| 83 |
+
}
|
| 84 |
+
return ($tmParam);
|
| 85 |
+
}
|
| 86 |
+
|
| 87 |
+
private function getCatalogProduct($prefix, $name, $tmp_model, $dynamic){
|
| 88 |
+
$lParam = '';
|
| 89 |
+
if(Mage::registry('current_product')){
|
| 90 |
+
$id=Mage::registry('current_product')->getId();
|
| 91 |
+
$tmp_model->load($id);
|
| 92 |
+
$methodVal = $tmp_model->$dynamic[1]();
|
| 93 |
+
|
| 94 |
+
if (gettype($methodVal)=="object"){
|
| 95 |
+
|
| 96 |
+
$methodVal = $methodVal->$dynamic[2]();
|
| 97 |
+
}
|
| 98 |
+
if(gettype($methodVal)=="array"){
|
| 99 |
+
$methodVal=implode("|", $methodVal);
|
| 100 |
+
}
|
| 101 |
+
$methodVal = strip_tags($methodVal);
|
| 102 |
+
$lParam .= $prefix . $name.': "'.$methodVal.'"';
|
| 103 |
+
|
| 104 |
+
}
|
| 105 |
+
return ($lParam);
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
private function getCatalogCategory($prefix, $name, $tmp_model, $dynamic){
|
| 109 |
+
$lParam = '';
|
| 110 |
+
if(Mage::registry('current_category')){
|
| 111 |
+
$id=Mage::registry('current_category')->getId();
|
| 112 |
+
$tmp_model->load($id);
|
| 113 |
+
$methodVal = $tmp_model->$dynamic[1]();
|
| 114 |
+
if (gettype($methodVal)=="object"){
|
| 115 |
+
$methodVal = $methodVal->$dynamic[2]();
|
| 116 |
+
}
|
| 117 |
+
if(gettype($methodVal)=="array"){
|
| 118 |
+
$methodVal=implode("|", $methodVal);
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
+
$lParam .= $prefix . $name.': "'.$methodVal.'"';
|
| 122 |
+
}
|
| 123 |
+
return ($lParam);
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
private function getCustomerCustomer($prefix, $name, $tmp_model, $dynamic){
|
| 127 |
+
$lParam = '';
|
| 128 |
+
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
|
| 129 |
+
$id=Mage::getSingleton('customer/session')->getId();
|
| 130 |
+
$tmp_model->load($id);
|
| 131 |
+
$methodVal = $tmp_model->$dynamic[1]();
|
| 132 |
+
//var_dump('1'.$dynamic[1]);
|
| 133 |
+
if (gettype($methodVal)=="object"){
|
| 134 |
+
//var_dump('2'.$dynamic[2]);
|
| 135 |
+
$methodVal = $methodVal->$dynamic[2]();
|
| 136 |
+
}
|
| 137 |
+
if(gettype($methodVal)=="array"){
|
| 138 |
+
$methodVal=implode("|", $methodVal);
|
| 139 |
+
}
|
| 140 |
+
$lParam .= $prefix . $name.': "'.$methodVal.'"';
|
| 141 |
+
}
|
| 142 |
+
return ($lParam);
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
private function getSalesOrder($prefix, $name, $tmp_model, $dynamic){
|
| 146 |
+
$lParam = '';
|
| 147 |
+
$tmp_model->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
|
| 148 |
+
$methodVal = $tmp_model->$dynamic[1]();
|
| 149 |
+
|
| 150 |
+
if (gettype($methodVal)=="object"){
|
| 151 |
+
$methodVal = $methodVal->$dynamic[2]();
|
| 152 |
+
}
|
| 153 |
+
if($dynamic[1]=="getAllItems"){
|
| 154 |
+
$methodVal = $this->getAllItems($methodVal, $dynamic);
|
| 155 |
+
}
|
| 156 |
+
elseif(gettype($methodVal)=="array"){
|
| 157 |
+
$methodVal=implode("|", $methodVal);
|
| 158 |
+
}
|
| 159 |
+
$lParam .= $prefix . $name.': "'.$methodVal.'"';
|
| 160 |
+
return ($lParam);
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
private function getSalesQuote($prefix, $name, $tmp_model, $dynamic){
|
| 164 |
+
$lParam = '';
|
| 165 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
| 166 |
+
$methodVal = $quote->$dynamic[1]();
|
| 167 |
+
|
| 168 |
+
if($dynamic[1]=="getAllItems"){
|
| 169 |
+
$methodVal = $this->getAllItems($methodVal, $dynamic);
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
elseif(gettype($methodVal)=="array"){
|
| 173 |
+
$methodVal=implode("|", $methodVal);
|
| 174 |
+
}
|
| 175 |
+
$lParam .= $prefix . $name.': "'.$methodVal.'"';
|
| 176 |
+
return ($lParam);
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
private function getAllItems($method, $dynamic){
|
| 180 |
+
$allItemsVal='';
|
| 181 |
+
$pipe = '';
|
| 182 |
+
foreach($method as $item) {
|
| 183 |
+
if($item->getOriginalPrice()> 0){
|
| 184 |
+
$allItemsVal .= $pipe . addslashes($item->$dynamic[2]());
|
| 185 |
+
$pipe = '|';
|
| 186 |
+
}
|
| 187 |
+
}
|
| 188 |
+
return ($allItemsVal);
|
| 189 |
+
}
|
| 190 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Select.php
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Select
|
| 3 |
+
extends Mage_Core_Block_Html_Select
|
| 4 |
+
{
|
| 5 |
+
/**
|
| 6 |
+
* Return output in one line
|
| 7 |
+
*
|
| 8 |
+
* @return string
|
| 9 |
+
*/
|
| 10 |
+
public function _toHtml()
|
| 11 |
+
{
|
| 12 |
+
return trim(preg_replace('/\s+/', ' ',parent::_toHtml()));
|
| 13 |
+
}
|
| 14 |
+
}
|
app/code/community/Tagman/Intellitag/Block/Text.php
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Block_Text
|
| 3 |
+
extends Mage_Core_Block_Text
|
| 4 |
+
{
|
| 5 |
+
/**
|
| 6 |
+
* Return output in one line
|
| 7 |
+
*
|
| 8 |
+
* @return string
|
| 9 |
+
*/
|
| 10 |
+
public function _toHtml()
|
| 11 |
+
{
|
| 12 |
+
parent::_toHtml();
|
| 13 |
+
}
|
| 14 |
+
}
|
app/code/community/Tagman/Intellitag/Helper/Data.php
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Helper_Data extends Mage_Core_Helper_Abstract
|
| 3 |
+
{
|
| 4 |
+
}
|
app/code/community/Tagman/Intellitag/Model/Mysql4/Variables.php
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Model_Mysql4_Variables extends Mage_Core_Model_Mysql4_Abstract
|
| 3 |
+
{
|
| 4 |
+
protected function _construct()
|
| 5 |
+
{
|
| 6 |
+
$this->_init('tagman_intellitag/variables', 'id');
|
| 7 |
+
}
|
| 8 |
+
}
|
app/code/community/Tagman/Intellitag/Model/Mysql4/Variables/Collection.php
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Model_Mysql4_Variables_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
| 3 |
+
{
|
| 4 |
+
protected function _construct()
|
| 5 |
+
{
|
| 6 |
+
$this->_init('tagman_intellitag/variables');
|
| 7 |
+
}
|
| 8 |
+
}
|
app/code/community/Tagman/Intellitag/Model/System/Config/Source/Model/Select.php
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Model_System_Config_Source_Model_Select
|
| 3 |
+
{
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
public function toOptionArray()
|
| 7 |
+
{
|
| 8 |
+
$collection = Mage::getModel('tagman_intellitag/variables')->getCollection();
|
| 9 |
+
$options = array();
|
| 10 |
+
foreach ($collection as $variable) {
|
| 11 |
+
$options[] = array(
|
| 12 |
+
'value' => $variable->getId(),
|
| 13 |
+
'label' => $variable->getName()
|
| 14 |
+
);
|
| 15 |
+
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
return $options;
|
| 19 |
+
}
|
| 20 |
+
}
|
app/code/community/Tagman/Intellitag/Model/Variables.php
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Model_Variables extends Mage_Core_Model_Abstract
|
| 3 |
+
{
|
| 4 |
+
protected function _construct()
|
| 5 |
+
{
|
| 6 |
+
$this->_init('tagman_intellitag/variables');
|
| 7 |
+
}
|
| 8 |
+
}
|
app/code/community/Tagman/Intellitag/controllers/Adminhtml/VariablesController.php
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Tagman_Intellitag_Adminhtml_VariablesController extends Mage_Adminhtml_Controller_Action
|
| 3 |
+
{
|
| 4 |
+
public function indexAction()
|
| 5 |
+
{
|
| 6 |
+
// Let's call our initAction method which will set some basic params for each action
|
| 7 |
+
$this->_initAction()
|
| 8 |
+
->renderLayout();
|
| 9 |
+
//$this->removeButton('add');
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
public function newAction()
|
| 13 |
+
{
|
| 14 |
+
// We just forward the new action to a blank edit form
|
| 15 |
+
$this->_forward('edit');
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
public function editAction()
|
| 19 |
+
{
|
| 20 |
+
$this->_initAction();
|
| 21 |
+
|
| 22 |
+
// Get id if available
|
| 23 |
+
$id = $this->getRequest()->getParam('id');
|
| 24 |
+
$model = Mage::getModel('tagman_intellitag/variables');
|
| 25 |
+
|
| 26 |
+
if ($id) {
|
| 27 |
+
// Load record
|
| 28 |
+
$model->load($id);
|
| 29 |
+
|
| 30 |
+
// Check if record is loaded
|
| 31 |
+
if (!$model->getId()) {
|
| 32 |
+
Mage::getSingleton('adminhtml/session')->addError($this->__('This variable no longer exists.'));
|
| 33 |
+
$this->_redirect('*/*/');
|
| 34 |
+
|
| 35 |
+
return;
|
| 36 |
+
}
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
$this->_title($model->getId() ? $model->getName() : $this->__('New Variable'));
|
| 40 |
+
|
| 41 |
+
$data = Mage::getSingleton('adminhtml/session')->getVariableData(true);
|
| 42 |
+
if (!empty($data)) {
|
| 43 |
+
$model->setData($data);
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
Mage::register('tagman_intellitag', $model);
|
| 47 |
+
|
| 48 |
+
$this->_initAction()
|
| 49 |
+
->_addBreadcrumb($id ? $this->__('Edit Variable') : $this->__('New Variable'), $id ? $this->__('Edit Variable') : $this->__('New Variable'))
|
| 50 |
+
->_addContent($this->getLayout()->createBlock('tagman_intellitag/adminhtml_variables_edit')->setData('action', $this->getUrl('*/*/save')))
|
| 51 |
+
|
| 52 |
+
->renderLayout();
|
| 53 |
+
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
public function saveAction()
|
| 57 |
+
{
|
| 58 |
+
if ($postData = $this->getRequest()->getPost()) {
|
| 59 |
+
$model = Mage::getSingleton('tagman_intellitag/variables');
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
if($postData['is_static']==1){
|
| 63 |
+
$postData['value']=$postData['static_value'];
|
| 64 |
+
$postData['magento_value']="";
|
| 65 |
+
}
|
| 66 |
+
else{
|
| 67 |
+
$postData['magento_value']=$postData['magento_model'];
|
| 68 |
+
$postData['magento_value'].="&&";
|
| 69 |
+
|
| 70 |
+
$tmp_data=str_replace("/","_",$postData['magento_model']);
|
| 71 |
+
$tmp_data.="_property";
|
| 72 |
+
|
| 73 |
+
$postData['magento_value'].=$postData[$tmp_data];
|
| 74 |
+
$postData['value']= "dynamic value";
|
| 75 |
+
$postData['static_value']="";
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
$model->setData($postData);
|
| 79 |
+
try {
|
| 80 |
+
|
| 81 |
+
$model->save();
|
| 82 |
+
|
| 83 |
+
Mage::getSingleton('adminhtml/session')->addSuccess($this->__('The variable has been saved.'));
|
| 84 |
+
$this->_redirect('*/*/');
|
| 85 |
+
|
| 86 |
+
return;
|
| 87 |
+
}
|
| 88 |
+
catch (Mage_Core_Exception $e) {
|
| 89 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 90 |
+
}
|
| 91 |
+
catch (Exception $e) {
|
| 92 |
+
Mage::getSingleton('adminhtml/session')->addError($this->__('An error occurred while saving this variable.'));
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
Mage::getSingleton('adminhtml/session')->setVariableData($postData);
|
| 96 |
+
$this->_redirectReferer();
|
| 97 |
+
}
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
public function messageAction()
|
| 101 |
+
{
|
| 102 |
+
$data = Mage::getModel('tagman_intellitag/variables')->load($this->getRequest()->getParam('id'));
|
| 103 |
+
echo $data->getContent();
|
| 104 |
+
}
|
| 105 |
+
public function deleteAction() {
|
| 106 |
+
if( $this->getRequest()->getParam('id') > 0 ) {
|
| 107 |
+
try {
|
| 108 |
+
$model = Mage::getModel('tagman_intellitag/variables');
|
| 109 |
+
|
| 110 |
+
$model->setId($this->getRequest()->getParam('id'))
|
| 111 |
+
->delete();
|
| 112 |
+
|
| 113 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Item was successfully deleted'));
|
| 114 |
+
$this->_redirect('*/*/');
|
| 115 |
+
} catch (Exception $e) {
|
| 116 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
| 117 |
+
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
|
| 118 |
+
}
|
| 119 |
+
}
|
| 120 |
+
$this->_redirect('*/*/');
|
| 121 |
+
}
|
| 122 |
+
/**
|
| 123 |
+
* Initialize action
|
| 124 |
+
*
|
| 125 |
+
* Here, we set the breadcrumbs and the active menu
|
| 126 |
+
*
|
| 127 |
+
* @return Mage_Adminhtml_Controller_Action
|
| 128 |
+
*/
|
| 129 |
+
protected function _initAction()
|
| 130 |
+
{
|
| 131 |
+
$this->loadLayout()
|
| 132 |
+
// Make the active menu match the menu config nodes (without 'children' inbetween)
|
| 133 |
+
->_setActiveMenu('tagman_menu')
|
| 134 |
+
->_title($this->__('tagman_menu'))->_title($this->__('Variables'))
|
| 135 |
+
->_addBreadcrumb($this->__('tagman_menu'), $this->__('tagman_intellitag'))
|
| 136 |
+
->_addBreadcrumb($this->__('Variables'), $this->__('Variables'));
|
| 137 |
+
|
| 138 |
+
return $this;
|
| 139 |
+
}
|
| 140 |
+
public function gridAction()
|
| 141 |
+
{
|
| 142 |
+
$this->loadLayout();
|
| 143 |
+
$this->getResponse()->setBody(
|
| 144 |
+
$this->getLayout()->createBlock('tagman_intellitag/adminhtml_variables_grid')->toHtml()
|
| 145 |
+
);
|
| 146 |
+
}
|
| 147 |
+
|
| 148 |
+
/**
|
| 149 |
+
* Check currently called action by permissions for current user
|
| 150 |
+
*
|
| 151 |
+
* @return bool
|
| 152 |
+
*/
|
| 153 |
+
protected function _isAllowed()
|
| 154 |
+
{
|
| 155 |
+
return Mage::getSingleton('admin/session')->isAllowed('tagman_intellitag/tagman_intellitag_variables');
|
| 156 |
+
}
|
| 157 |
+
}
|
app/code/community/Tagman/Intellitag/etc/adminhtml.xml
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<menu>
|
| 4 |
+
<tagman_menu translate="title" module="tagman_intellitag">
|
| 5 |
+
<title>Tagman Manager</title>
|
| 6 |
+
<sort_order>300</sort_order>
|
| 7 |
+
<children>
|
| 8 |
+
|
| 9 |
+
<variables_menu_item translate="title" module="tagman_intellitag">
|
| 10 |
+
<title>Variables</title>
|
| 11 |
+
<sort_order>20</sort_order>
|
| 12 |
+
<action>adminhtml/variables</action>
|
| 13 |
+
|
| 14 |
+
</variables_menu_item>
|
| 15 |
+
|
| 16 |
+
</children>
|
| 17 |
+
</tagman_menu>
|
| 18 |
+
</menu>
|
| 19 |
+
<acl>
|
| 20 |
+
<resources>
|
| 21 |
+
<admin>
|
| 22 |
+
<children>
|
| 23 |
+
<tagman_menu translate="title" module="tagman_intellitag">
|
| 24 |
+
<title>Tagman Manager</title>
|
| 25 |
+
<sort_order>300</sort_order>
|
| 26 |
+
<children>
|
| 27 |
+
|
| 28 |
+
<variables_menu_item translate="title" module="tagman_intellitag">
|
| 29 |
+
<title>Variables</title>
|
| 30 |
+
<sort_order>10</sort_order>
|
| 31 |
+
</variables_menu_item>
|
| 32 |
+
|
| 33 |
+
</children>
|
| 34 |
+
</tagman_menu>
|
| 35 |
+
<system>
|
| 36 |
+
<children>
|
| 37 |
+
<config>
|
| 38 |
+
<children>
|
| 39 |
+
<tab1>
|
| 40 |
+
<title>Tagman_Intellitag</title> <!-- Used in resources tree -->
|
| 41 |
+
</tab1>
|
| 42 |
+
</children>
|
| 43 |
+
</config>
|
| 44 |
+
</children>
|
| 45 |
+
</system>
|
| 46 |
+
</children>
|
| 47 |
+
</admin>
|
| 48 |
+
</resources>
|
| 49 |
+
</acl>
|
| 50 |
+
</config>
|
app/code/community/Tagman/Intellitag/etc/config.xml
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Tagman_Intellitag>
|
| 5 |
+
<version>1.0.0</version>
|
| 6 |
+
</Tagman_Intellitag>
|
| 7 |
+
</modules>
|
| 8 |
+
<global>
|
| 9 |
+
<blocks>
|
| 10 |
+
|
| 11 |
+
<!-- a unique short name for our block files -->
|
| 12 |
+
<tagman_intellitag>
|
| 13 |
+
|
| 14 |
+
<!-- the location of our module's blocks -->
|
| 15 |
+
<class>Tagman_Intellitag_Block</class>
|
| 16 |
+
|
| 17 |
+
</tagman_intellitag>
|
| 18 |
+
|
| 19 |
+
</blocks>
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
<models>
|
| 23 |
+
<tagman_intellitag>
|
| 24 |
+
<class>Tagman_Intellitag_Model</class>
|
| 25 |
+
<resourceModel>tagman_intellitag_mysql4</resourceModel>
|
| 26 |
+
</tagman_intellitag>
|
| 27 |
+
<tagman_intellitag_mysql4>
|
| 28 |
+
<class>Tagman_Intellitag_Model_Mysql4</class>
|
| 29 |
+
<entities>
|
| 30 |
+
<variables>
|
| 31 |
+
<table>tagman_intellitag_variables</table>
|
| 32 |
+
</variables>
|
| 33 |
+
</entities>
|
| 34 |
+
</tagman_intellitag_mysql4>
|
| 35 |
+
</models>
|
| 36 |
+
|
| 37 |
+
<helpers>
|
| 38 |
+
<tagman_intellitag>
|
| 39 |
+
<class>Tagman_Intellitag_Helper</class>
|
| 40 |
+
</tagman_intellitag>
|
| 41 |
+
</helpers>
|
| 42 |
+
|
| 43 |
+
<resources>
|
| 44 |
+
<tagman_intellitag_setup>
|
| 45 |
+
<setup>
|
| 46 |
+
<module>Tagman_Intellitag</module>
|
| 47 |
+
</setup>
|
| 48 |
+
</tagman_intellitag_setup>
|
| 49 |
+
</resources>
|
| 50 |
+
</global>
|
| 51 |
+
<frontend>
|
| 52 |
+
<layout>
|
| 53 |
+
<updates>
|
| 54 |
+
<tagman_intellitag module="Tagman_Intellitag">
|
| 55 |
+
<file>tagman_intellitag.xml</file>
|
| 56 |
+
</tagman_intellitag>
|
| 57 |
+
</updates>
|
| 58 |
+
</layout>
|
| 59 |
+
</frontend>
|
| 60 |
+
<default>
|
| 61 |
+
<tab1>
|
| 62 |
+
<credentials>
|
| 63 |
+
<client_id_text_field>CLIENT ID SAMPLE</client_id_text_field>
|
| 64 |
+
<site_id_text_field>SITE ID SAMPLE</site_id_text_field>
|
| 65 |
+
<host_text_field>CDN HOST SAMPLE</host_text_field>
|
| 66 |
+
</credentials>
|
| 67 |
+
</tab1>
|
| 68 |
+
</default>
|
| 69 |
+
<admin>
|
| 70 |
+
<routers>
|
| 71 |
+
<adminhtml>
|
| 72 |
+
<args>
|
| 73 |
+
<modules>
|
| 74 |
+
<Tagman_Intellitag before="Mage_Adminhtml">Tagman_Intellitag_Adminhtml</Tagman_Intellitag>
|
| 75 |
+
</modules>
|
| 76 |
+
</args>
|
| 77 |
+
</adminhtml>
|
| 78 |
+
</routers>
|
| 79 |
+
</admin>
|
| 80 |
+
|
| 81 |
+
<adminhtml>
|
| 82 |
+
<layout>
|
| 83 |
+
<updates>
|
| 84 |
+
<tagman_intellitag>
|
| 85 |
+
<file>tagman/intellitag.xml</file>
|
| 86 |
+
</tagman_intellitag>
|
| 87 |
+
</updates>
|
| 88 |
+
</layout>
|
| 89 |
+
</adminhtml>
|
| 90 |
+
</config>
|
app/code/community/Tagman/Intellitag/etc/system.xml
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<tabs>
|
| 4 |
+
<myconf translate="label">
|
| 5 |
+
<label>TAGMAN</label>
|
| 6 |
+
<sort_order>150</sort_order>
|
| 7 |
+
</myconf>
|
| 8 |
+
</tabs>
|
| 9 |
+
<sections>
|
| 10 |
+
<tab1 translate="label" module="adminhtml">
|
| 11 |
+
<label>Settings</label>
|
| 12 |
+
<tab>myconf</tab>
|
| 13 |
+
<sort_order>10</sort_order>
|
| 14 |
+
<show_in_default>1</show_in_default>
|
| 15 |
+
<show_in_website>1</show_in_website>
|
| 16 |
+
<show_in_store>1</show_in_store>
|
| 17 |
+
<groups>
|
| 18 |
+
<credentials translate="label comment">
|
| 19 |
+
<label>Client Credentials</label>
|
| 20 |
+
<sort_order>50</sort_order>
|
| 21 |
+
<show_in_default>1</show_in_default>
|
| 22 |
+
<show_in_website>1</show_in_website>
|
| 23 |
+
<show_in_store>1</show_in_store>
|
| 24 |
+
<comment><![CDATA[ <img src="http://www.tagman.com/wp-content/themes/tagman-0-1/images/logo.jpg" /><br><p>Please fill in the required data</p>]]></comment>
|
| 25 |
+
<fields>
|
| 26 |
+
<client_id_text_field translate="label comment">
|
| 27 |
+
<label>CLIENT ID</label>
|
| 28 |
+
<comment>Client ID provided from Tagman</comment>
|
| 29 |
+
<frontend_type>text</frontend_type>
|
| 30 |
+
<sort_order>10</sort_order>
|
| 31 |
+
<show_in_default>1</show_in_default>
|
| 32 |
+
<show_in_website>1</show_in_website>
|
| 33 |
+
<show_in_store>1</show_in_store>
|
| 34 |
+
</client_id_text_field>
|
| 35 |
+
<site_id_text_field translate="label comment">
|
| 36 |
+
<label>SITE ID</label>
|
| 37 |
+
<comment>Site ID</comment>
|
| 38 |
+
<frontend_type>text</frontend_type>
|
| 39 |
+
<sort_order>20</sort_order>
|
| 40 |
+
<show_in_default>1</show_in_default>
|
| 41 |
+
<show_in_website>1</show_in_website>
|
| 42 |
+
<show_in_store>1</show_in_store>
|
| 43 |
+
</site_id_text_field>
|
| 44 |
+
<host_text_field translate="label comment">
|
| 45 |
+
<label>CDN HOST</label>
|
| 46 |
+
<comment>Production and Staging CDN Host</comment>
|
| 47 |
+
<frontend_type>text</frontend_type>
|
| 48 |
+
<sort_order>30</sort_order>
|
| 49 |
+
<show_in_default>1</show_in_default>
|
| 50 |
+
<show_in_website>1</show_in_website>
|
| 51 |
+
<show_in_store>1</show_in_store>
|
| 52 |
+
</host_text_field>
|
| 53 |
+
</fields>
|
| 54 |
+
</credentials>
|
| 55 |
+
<variables translate="label comment">
|
| 56 |
+
<label>Variable List</label>
|
| 57 |
+
<sort_order>60</sort_order>
|
| 58 |
+
<show_in_default>1</show_in_default>
|
| 59 |
+
<show_in_website>1</show_in_website>
|
| 60 |
+
<show_in_store>1</show_in_store>
|
| 61 |
+
<comment><![CDATA[The variable <strong>page_type</strong> will be added automaticly]]></comment>
|
| 62 |
+
<fields>
|
| 63 |
+
<field translate="label">
|
| 64 |
+
<label>Variables</label>
|
| 65 |
+
<frontend_model>tagman_intellitag/field</frontend_model>
|
| 66 |
+
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
| 67 |
+
<source_model>tagman_intellitag/system_config_source_model_select</source_model>
|
| 68 |
+
<sort_order>100</sort_order>
|
| 69 |
+
<show_in_default>1</show_in_default>
|
| 70 |
+
<show_in_website>1</show_in_website>
|
| 71 |
+
<show_in_store>1</show_in_store>
|
| 72 |
+
</field>
|
| 73 |
+
</fields>
|
| 74 |
+
</variables>
|
| 75 |
+
</groups>
|
| 76 |
+
</tab1>
|
| 77 |
+
</sections>
|
| 78 |
+
</config>
|
app/code/community/Tagman/Intellitag/sql/tagman_intellitag_setup/mysql4-install-1.0.0.php
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/* @var $installer Mage_Core_Model_Resource_Setup */
|
| 3 |
+
$installer = $this;
|
| 4 |
+
$installer->startSetup();
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
$table_variables = $installer->getConnection()
|
| 8 |
+
|
| 9 |
+
->newTable($installer->getTable('tagman_intellitag/variables'))
|
| 10 |
+
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
|
| 11 |
+
'identity' => true,
|
| 12 |
+
'unsigned' => true,
|
| 13 |
+
'nullable' => false,
|
| 14 |
+
'primary' => true,
|
| 15 |
+
), 'ID')
|
| 16 |
+
->addColumn('name', Varien_Db_Ddl_Table::TYPE_CLOB, 0, array(
|
| 17 |
+
'nullable' => false,
|
| 18 |
+
), 'Name')
|
| 19 |
+
->addColumn('is_static', Varien_Db_Ddl_Table::TYPE_BOOLEAN, 1, array(
|
| 20 |
+
'nullable' => false,
|
| 21 |
+
),'Type of Value')
|
| 22 |
+
->addColumn('static_value', Varien_Db_Ddl_Table::TYPE_CLOB, 0, array(
|
| 23 |
+
'nullable' => false,
|
| 24 |
+
), 'Static Value')
|
| 25 |
+
->addColumn('magento_value', Varien_Db_Ddl_Table::TYPE_CLOB, 0, array(
|
| 26 |
+
'nullable' => false,
|
| 27 |
+
), 'Magento Value')
|
| 28 |
+
->addColumn('value', Varien_Db_Ddl_Table::TYPE_CLOB, 0, array(
|
| 29 |
+
'nullable' => false,
|
| 30 |
+
), 'Value');
|
| 31 |
+
|
| 32 |
+
$installer->getConnection()->createTable($table_variables);
|
| 33 |
+
|
| 34 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/tagman/intellitag.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<layout>
|
| 3 |
+
<adminhtml_variables_index>
|
| 4 |
+
<reference name="content">
|
| 5 |
+
<block type="tagman_intellitag/adminhtml_variables" name="tagman_intellitag_variables" />
|
| 6 |
+
</reference>
|
| 7 |
+
</adminhtml_variables_index>
|
| 8 |
+
</layout>
|
app/design/frontend/base/default/layout/tagman_intellitag.xml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
|
| 3 |
+
<!-- all layout files begin with this node -->
|
| 4 |
+
<layout>
|
| 5 |
+
|
| 6 |
+
<!-- this is the layout handle we are interested in -->
|
| 7 |
+
<default>
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
<reference name="head">
|
| 11 |
+
<block type="tagman_intellitag/jsinjector"
|
| 12 |
+
name="tagman_intellitag_jsinjector"
|
| 13 |
+
template="tagman_intellitag/jsinjector.phtml" />
|
| 14 |
+
|
| 15 |
+
</reference>
|
| 16 |
+
|
| 17 |
+
<!--<reference name="head">
|
| 18 |
+
<block type="core/text" name="simple_example_javascript_block">
|
| 19 |
+
<action method="setText">
|
| 20 |
+
<text><![CDATA[
|
| 21 |
+
<script type="text/javascript">
|
| 22 |
+
alert("Tagman js alert from tagman_intellitag.xml");
|
| 23 |
+
</script>
|
| 24 |
+
]]></text>
|
| 25 |
+
</action>
|
| 26 |
+
</block>
|
| 27 |
+
</reference>-->
|
| 28 |
+
|
| 29 |
+
</default>
|
| 30 |
+
|
| 31 |
+
</layout>
|
app/design/frontend/base/default/template/tagman_intellitag/jsinjector.phtml
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
| 1 |
+
<?php echo $this->addTagManJavascriptBlock(); ?>
|
app/etc/modules/Tagman_Intellitag.xml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Tagman_Intellitag>
|
| 5 |
+
<active>true</active>
|
| 6 |
+
<codePool>community</codePool>
|
| 7 |
+
</Tagman_Intellitag>
|
| 8 |
+
</modules>
|
| 9 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>Tagman_Intellitag</name>
|
| 4 |
+
<version>1.0.0</version>
|
| 5 |
+
<stability>stable</stability>
|
| 6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL)</license>
|
| 7 |
+
<channel>community</channel>
|
| 8 |
+
<extends/>
|
| 9 |
+
<summary>Extension injects TagMan javascript code into every client page to provide TagMan's experience.</summary>
|
| 10 |
+
<description>Provides TagMan experience to Magento web sites. Data contained in TagMan Intellitag are pushed automatically to TagMan&#x2019;s Intellitag platform.&#xD;
|
| 11 |
+
This extension plugs into your Magento installation and automatically inserts TagMan Intellitag to the top of your pages, taking away 99% of the development work of implementing Universal Variable on your site.</description>
|
| 12 |
+
<notes>First stable version of TagMan Intellitag extension</notes>
|
| 13 |
+
<authors><author><name>TagMan Ltd.</name><user>tobyattagman</user><email>toby.doig@tagman.com</email></author></authors>
|
| 14 |
+
<date>2013-09-18</date>
|
| 15 |
+
<time>09:02:15</time>
|
| 16 |
+
<contents><target name="magecommunity"><dir name="Tagman"><dir name="Intellitag"><dir name="Block"><dir name="Adminhtml"><dir name="Variables"><dir name="Edit"><file name="Form.php" hash="6e2a841521829e4e74f407d9ff8f2d6a"/></dir><file name="Edit.php" hash="c27734e57889971ae4cafff4ddb08ed8"/><file name="Grid.php" hash="3e6b1c8e49e60af21aa1d1c55ec7ef69"/></dir><file name="Variables.php" hash="9d5fa2b7442f92bfa5840abb2017d067"/></dir><file name="Field.php" hash="50b4bace6bec94d4693923b79ace1f44"/><file name="JsInjector.php" hash="259b793fef80f22e3822cb6fadf748df"/><file name="Select.php" hash="01aa8523ede2440a5d3de5dc32085866"/><file name="Text.php" hash="0ef1ce4825caa74406ee9b37a397c0b3"/></dir><dir name="Helper"><file name="Data.php" hash="906f295b2d648c9a349c2565e09ddc18"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Variables"><file name="Collection.php" hash="dc0ef1f229e89cef8c52ac20adbc395b"/></dir><file name="Variables.php" hash="1b5357557412cdfa258b3bf532c869f3"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Model"><file name="Select.php" hash="61b6852fdf992661525d1da63dfdca4e"/></dir></dir></dir></dir><file name="Variables.php" hash="2d3ed7cf392258cd8868c9c8cd45e7d6"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="VariablesController.php" hash="b281e1de3d527046960aad9ba4890e35"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="61187b3ac51a10ca5ba73ccd0880db7f"/><file name="config.xml" hash="2a519044f823d2bddb54ca95cbfd3e16"/><file name="system.xml" hash="8484f9945f5246b2d9f44dc76e3ae0bf"/></dir><dir name="sql"><dir name="tagman_intellitag_setup"><file name="mysql4-install-1.0.0.php" hash="a91da3d51779b91d218caa9482268c45"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="tagman"><file name="intellitag.xml" hash="444a905ddb69a1062501acd3984e80b1"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="tagman_intellitag"><file name="jsinjector.phtml" hash="58add90971f6d8ff56b6f80930d8b4a9"/></dir></dir><dir name="layout"><file name="tagman_intellitag.xml" hash="2c9db0e32a9075302a7beae53b925971"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Tagman_Intellitag.xml" hash="333d03b67ee4a65f9a78910b2f901803"/></dir></target></contents>
|
| 17 |
+
<compatible/>
|
| 18 |
+
<dependencies><required><php><min>5.3.24</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.7.0.2</min><max>1.7.0.2</max></package></required></dependencies>
|
| 19 |
+
</package>
|
