Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.idea/
app/etc/local.xml
var/
media/
10 changes: 10 additions & 0 deletions app/code/local/Training/Audit/Helper/Data.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php
/**
* Created by PhpStorm.
* User: Andres Mazza <andres.mazza@gmail.com>
* Date: 29/11/15
* Time: 16:13
*/
class Training_Audit_Helper_Data extends Mage_Core_Helper_Abstract {

}
30 changes: 30 additions & 0 deletions app/code/local/Training/Audit/Model/Observer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/**
* Created by PhpStorm.
* User: Andres Mazza <andres.mazza@gmail.com>
* Date: 29/11/15
* Time: 17:03
*/
class Training_Audit_Model_Observer
{

/**
* Catalog Product After Save (change status process)
*
* @param Varien_Event_Observer $observer
* @return Mage_Sales_Model_Observer
*/
public function catalogProductSaveAfter(Varien_Event_Observer $observer)
{
$product = $observer->getProduct();
$productId = $product->getId();
$productName = $product->getName();
$userName = '-';
if (Mage::getModel("admin/session")->getData('user')) {
$userName = Mage::getModel("admin/session")->getData('user')->getData('username');
}

Mage::log("Username:".$userName." Action:Change ProductID:".$productId. " ProductName:".$productName);
}
}
38 changes: 38 additions & 0 deletions app/code/local/Training/Audit/etc/config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Audit>
<version>0.1.0</version>
</Training_Audit>
</modules>
<global>
<models>
<training_audit>
<class>Training_Audit_Model</class>
</training_audit>
</models>
<blocks>
<training_audit>
<class>Training_Audit_Block</class>
</training_audit>
</blocks>
<helpers>
<training_audit>
<class>Training_Audit_Helper</class>
</training_audit>
</helpers>
</global>
<adminhtml>
<events>
<catalog_product_save_after>
<observers>
<training_audit>
<type>singleton</type>
<class>training_audit/observer</class>
<method>catalogProductSaveAfter</method>
</training_audit>
</observers>
</catalog_product_save_after>
</events>
</adminhtml>
</config>
11 changes: 11 additions & 0 deletions app/code/local/Training/Catalog/Helper/Data.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php
/**
* Created by PhpStorm.
* User: andres
* Date: 09/12/15
* Time: 21:55
*/
class Training_Catalog_Helper_Data
extends Mage_Core_Helper_Abstract {

}
23 changes: 23 additions & 0 deletions app/code/local/Training/Catalog/Model/Product.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php
/**
* Product model override
*
* @category Company
* @package Company_Feed
*/
class Training_Catalog_Model_Product
extends Company_Feed_Model_Catalog_Product
{
public function getProductUrl($useSid = null) {

if(Mage::helper('catalog')->isCategory()) {

$categoryId = Mage::registry('current_category')->getId();
$productUrl = parent::getProductUrl($useSid);
$productUrl .= 'cat/'.$categoryId;

return $productUrl;
}
parent::getProductUrl($useSid);
}
}
31 changes: 31 additions & 0 deletions app/code/local/Training/Catalog/etc/config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Catalog>
<version>0.1.0</version>
</Training_Catalog>
</modules>
<global>
<models>
<training_catalog>
<class>Training_Catalog_Model</class>
</training_catalog>
<catalog>
<rewrite>
<product>Training_Catalog_Model_Product</product>
</rewrite>
</catalog>
</models>

<blocks>
<training_catalog>
<class>Training_Catalog_Block</class>
</training_catalog>
</blocks>
<helpers>
<training_catalog>
<class>Training_Catalog_Helper</class>
</training_catalog>
</helpers>
</global>
</config>
30 changes: 30 additions & 0 deletions app/code/local/Training/Company/Helper/Data.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

/**
* Training_Company_Helper_Data
*/
class Training_Company_Helper_Data
extends Mage_Core_Helper_Abstract
{
public function isVisible($id)
{
switch ($id) {
case 1: //Not visible
$result = false;
break;
case 2: // In Catalog
$result = true;
break;
case 3: // In Search
$result = true;
break;
case 4: // In Catalog/Search
$result = true;
break;

default:
$result = false;
}
return $result;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?php
/**
* Created by PhpStorm.
* User: Andres Mazza <andres.mazza@gmail.com>
* Date: 30/11/15
* Time: 00:02
*/
require_once 'Company/Feed/controllers/Catalog/ProductController.php';


class Training_Company_Catalog_ProductController
extends Company_Feed_Catalog_ProductController
{
public function feedAction()
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resuelve el requerimiento, pero estas duplicando código sin necesidad.
Como opción podrías simplemente consultar por la visibilidad y si cumple con el criterio del requerimiento llamas al parent:

parent::feedAction();

$id = $this->getRequest()->getParam('id');
$product = Mage::getModel('catalog/product')->load($id);


if ($product->getId() && Mage::helper('company')->isVisible($product->getVisibility()) ) {
$fields = array(
'entity_id',
'sku',
'name',
'description',
'visibility'
);

$xml = $product->toXml($fields);

$this->getResponse()
->clearHeaders()
->setHeader('Content-Type', 'text/xml')
->setBody($xml);
return $this;
}
}
}
27 changes: 27 additions & 0 deletions app/code/local/Training/Company/etc/config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Company>
<version>0.1.0</version>
</Training_Company>
</modules>
<frontend>
<routers>
<catalog>
<args>
<modules>
<training_company before="Company_Feed_Catalog">Training_Company_Catalog</training_company>
</modules>
</args>
</catalog>
</routers>
</frontend>
<global>
<helpers>
<company>
<class>Training_Company_Helper</class>
</company>
</helpers>

</global>
</config>
12 changes: 12 additions & 0 deletions app/etc/modules/Training_Audit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Audit>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Catalog/>
</depends>
</Training_Audit>
</modules>
</config>
9 changes: 9 additions & 0 deletions app/etc/modules/Training_Catalog.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Catalog>
<active>true</active>
<codePool>local</codePool>
</Training_Catalog>
</modules>
</config>
21 changes: 21 additions & 0 deletions app/etc/modules/Training_Company.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<config>
<modules>
<Training_Company>
<active>true</active>
<codePool>local</codePool>
</Training_Company>
</modules>

<frontend>
<routers>
<catalog>
<args>
<modules>
<Company_Feed before="Mage_Catalog">Company_Feed_Catalog</Company_Feed>
</modules>
</args>
</catalog>
</routers>
</frontend>
</config>