Anais_Breadcrumbs - Version 1.0.0

Version Notes

This extension allows you to add breadcrumbs for the account pages.

Download this release

Release Info

Developer Anais Software
Extension Anais_Breadcrumbs
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

app/code/community/Anais/Breadcrumbs/Helper/Data.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Anais_Breadcrumbs extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ *
12
+ * @category Anais
13
+ * @package Anais_Breadcrumbs
14
+ * @copyright Copyright (c) 2011 Anais Software Services
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+ /**
18
+ * @category Anais
19
+ * @package Anais_Breadcrumbs
20
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
21
+ */
22
+ class Anais_Breadcrumbs_Helper_Data extends Mage_Core_Helper_Data{
23
+
24
+ }
app/code/community/Anais/Breadcrumbs/Model/Adminhtml/Observer.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Anais_Breadcrumbs extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ *
12
+ * @category Anais
13
+ * @package Anais_Breadcrumbs
14
+ * @copyright Copyright (c) 2011 Anais Software Services
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+ /**
18
+ * @category Anais
19
+ * @package Anais_Breadcrumbs
20
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
21
+ */
22
+ class Anais_Breadcrumbs_Model_Adminhtml_Observer{
23
+ /**
24
+ * add js block to edit form
25
+ * @access pubic
26
+ * @param Varien_Event_Observer $observer
27
+ * @return Anais_Breadcrumbs_Model_Adminhtml_Observer
28
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
29
+ */
30
+ public function addConfigJsBlock($observer){
31
+ $event = $observer->getEvent();
32
+ $controller = $event->getAction()->getRequest();
33
+ if ($controller->getModuleName() == 'admin' && $controller->getControllerName() == 'system_config' && $controller->getActionName() == 'edit'){
34
+ if ($event->getLayout()->getBlock('js')){
35
+ $block = $event->getLayout()->createBlock('adminhtml/template')->setTemplate('anais_breadcrumbs/config/js.phtml');
36
+ $event->getLayout()->getBlock('js')->append($block);
37
+ }
38
+ }
39
+ return $this;
40
+ }
41
+ }
app/code/community/Anais/Breadcrumbs/Model/Adminhtml/System/Config/Source/Breadcrumb/Pages.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Anais_Breadcrumbs extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ *
12
+ * @category Anais
13
+ * @package Anais_Breadcrumbs
14
+ * @copyright Copyright (c) 2011 Anais Software Services
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+ /**
18
+ * @category Anais
19
+ * @package Anais_Breadcrumbs
20
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
21
+ */
22
+ class Anais_Breadcrumbs_Model_Adminhtml_System_Config_Source_Breadcrumb_Pages{
23
+ /**
24
+ * get the available pages
25
+ * @access public
26
+ * @return array()
27
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
28
+ */
29
+ public function toOptionArray(){
30
+ return array(
31
+ array('value' => 'customer_account_login', 'label'=>Mage::helper('breadcrumbs')->__('Account Login Page')),
32
+ array('value' => 'customer_account_forgotpassword', 'label'=>Mage::helper('breadcrumbs')->__('Forgot Password Page')),
33
+ array('value' => 'customer_account_index', 'label'=>Mage::helper('breadcrumbs')->__('Account Dashboard Page')),
34
+ array('value' => 'customer_account_register', 'label'=>Mage::helper('breadcrumbs')->__('Register Page')),
35
+ array('value' => 'customer_account_edit', 'label'=>Mage::helper('breadcrumbs')->__('Account Information Page')),
36
+ array('value' => 'customer_address_index', 'label'=>Mage::helper('breadcrumbs')->__('Address Book Page')),
37
+ array('value' => 'customer_address_from', 'label'=>Mage::helper('breadcrumbs')->__('Address Book Page - Add/Edit Address')),
38
+ array('value' => 'sales_order_history', 'label'=>Mage::helper('breadcrumbs')->__('Order History Page')),
39
+ array('value' => 'sales_order_view', 'label'=>Mage::helper('breadcrumbs')->__('Order Details Page')),
40
+ array('value' => 'sales_order_invoice', 'label'=>Mage::helper('breadcrumbs')->__('Order Invoices Page')),
41
+ array('value' => 'sales_order_shipment', 'label'=>Mage::helper('breadcrumbs')->__('Order Shipments Page')),
42
+ array('value' => 'sales_order_creditmemo', 'label'=>Mage::helper('breadcrumbs')->__('Order Creditmemos Page')),
43
+ array('value' => 'sales_billing_agreement', 'label'=>Mage::helper('breadcrumbs')->__('Billing Agreements Page')),
44
+ array('value' => 'sales_recurring_profile', 'label'=>Mage::helper('breadcrumbs')->__('Recurring Profile Page')),
45
+ array('value' => 'review_customer_index', 'label'=>Mage::helper('breadcrumbs')->__('Customer Reviews Page')),
46
+ array('value' => 'review_customer_view', 'label'=>Mage::helper('breadcrumbs')->__('Customer Review Details Page')),
47
+ array('value' => 'tag_customer_index', 'label'=>Mage::helper('breadcrumbs')->__('Customer Tags Page')),
48
+ array('value' => 'tag_customer_view', 'label'=>Mage::helper('breadcrumbs')->__('Customer Tag Details Page')),
49
+ array('value' => 'wishlist_index_index', 'label'=>Mage::helper('breadcrumbs')->__('Wishlist Page')),
50
+ array('value' => 'downloadable_customer_products', 'label'=>Mage::helper('breadcrumbs')->__('My Downloadable Products Page')),
51
+ array('value' => 'newsletter_manage_index', 'label'=>Mage::helper('breadcrumbs')->__('Newsletter Subscription Page')),
52
+ );
53
+ }
54
+ }
app/code/community/Anais/Breadcrumbs/Model/Layout/Observer.php ADDED
@@ -0,0 +1,495 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Anais_Breadcrumbs extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ *
12
+ * @category Anais
13
+ * @package Anais_Breadcrumbs
14
+ * @copyright Copyright (c) 2011 Anais Software Services
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+ /**
18
+ * @category Anais
19
+ * @package Anais_Breadcrumbs
20
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
21
+ */
22
+ class Anais_Breadcrumbs_Model_Layout_Observer{
23
+ const XML_PATH_ENABLE_ALL = 'breadcrumbs/settings/enable_all';
24
+ const XML_PATH_ENABLE_SPECIFIC = 'breadcrumbs/settings/enable_specific';
25
+ const XML_PATH_ENABLE_HOME = 'breadcrumbs/settings/enable_home';
26
+ protected $_layout = null;
27
+ protected $_breadcrumbsBlock = null;
28
+ /**
29
+ * get the page layout instance
30
+ * @access protected
31
+ * @return Mage_Core_Model_Layout
32
+ * @author marius.strajeru
33
+ */
34
+ protected function _getLayout(){
35
+ if (is_null($this->_layout)){
36
+ $this->_layout = Mage::getSingleton('core/layout');
37
+ }
38
+ return $this->_layout;
39
+ }
40
+ /**
41
+ * get the breadcrumb block instance
42
+ * @access protected
43
+ * @return mixed (Mage_Page_Block_Html_Breadcrumbs|null)
44
+ * @author marius.strajeru
45
+ */
46
+ protected function _getBreadcrumbsBlock(){
47
+ if (is_null($this->_breadcrumbsBlock)){
48
+ $this->_breadcrumbsBlock = $this->_getLayout()->getBlock('breadcrumbs');
49
+ }
50
+ return $this->_breadcrumbsBlock;
51
+ }
52
+ /**
53
+ * add a breadcrumb
54
+ * @access protected
55
+ * @param string $index
56
+ * @param string $label
57
+ * @param string $link - if empty the crumb will not have a link
58
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
59
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
60
+ */
61
+ protected function _addCrumb($index, $label, $link = ''){
62
+ if ($breadcrumbsBlock = $this->_getBreadcrumbsBlock()){
63
+ $breadcrumbsBlock->addCrumb($index, array(
64
+ 'label'=>$label,
65
+ 'link'=>$link,
66
+ )
67
+ );
68
+ }
69
+ return $this;
70
+ }
71
+ /**
72
+ * adds home breadcrumb
73
+ * @access protected
74
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
75
+ * @author marius.strajeru
76
+ */
77
+ protected function _addHomeBreadcrumb(){
78
+ if (Mage::getStoreConfigFlag(self::XML_PATH_ENABLE_HOME)){
79
+ $this->_addCrumb('home', Mage::helper('catalog')->__('Home'), Mage::getUrl(''));
80
+ }
81
+ return $this;
82
+ }
83
+ /**
84
+ * adds 'My Account' breadcrumb
85
+ * @access protected
86
+ * @param bool $withLink
87
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
88
+ * @author marius.strajeru
89
+ */
90
+ protected function _addAccountBreadcrumb($withLink = true){
91
+ $link = '';
92
+ if ($withLink){
93
+ $link = Mage::getUrl('customer/account/index');
94
+ }
95
+ $this->_addCrumb('account', Mage::helper('customer')->__('My Account'), $link);
96
+ return $this;
97
+ }
98
+ /**
99
+ * adds 'My Orders' breadcrumb
100
+ * @access protected
101
+ * @param bool $withLink
102
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
103
+ * @author marius.strajeru
104
+ */
105
+ protected function _addOrderHistoryBreadcrumb($withLink = true){
106
+ $link = '';
107
+ if ($withLink){
108
+ $link = Mage::getUrl('sales/order/history');
109
+ }
110
+ $this->_addCrumb('order_history', Mage::helper('sales')->__('My Orders'), $link);
111
+ return $this;
112
+ }
113
+ /**
114
+ * adds 'order number' breadcrumb
115
+ * @access protected
116
+ * @param bool $withLink
117
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
118
+ * @author marius.strajeru
119
+ */
120
+ protected function _addOrderBreadcrumb($withLink = true){
121
+ $link = '';
122
+ $order = Mage::registry('current_order');
123
+ if ($withLink){
124
+ $link = Mage::getUrl('sales/order/view', array('order_id'=>$order->getId()));
125
+ }
126
+ $this->_addCrumb('order_view', Mage::helper('sales')->__('Order #%s', $order->getIncrementId()), $link);
127
+ return $this;
128
+ }
129
+ /**
130
+ * check if breadcrumbs are shown
131
+ * @access protected
132
+ * @param string $page
133
+ * @return bool
134
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
135
+ */
136
+ protected function _checkShowBreadcrumbs($page){
137
+ if (Mage::getStoreConfigFlag(self::XML_PATH_ENABLE_ALL)){
138
+ return true;
139
+ }
140
+ $specific = Mage::getStoreConfig(self::XML_PATH_ENABLE_SPECIFIC);
141
+ if (empty($specific)){
142
+ return false;
143
+ }
144
+ $parts = explode(',', $specific);
145
+ return (in_array($page, $parts));
146
+ }
147
+ /**
148
+ * call for customer_account_login
149
+ * @access public
150
+ * @param Varien_Event_Observer
151
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
152
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
153
+ */
154
+ public function controller_action_layout_render_before_customer_account_login($observer){
155
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_account_login');
156
+ if ($showBreadcrumbs){
157
+ $this->_addHomeBreadcrumb();
158
+ $this->_addAccountBreadcrumb();
159
+ $this->_addCrumb('login', Mage::helper('customer')->__('Login'));
160
+ }
161
+ return $this;
162
+ }
163
+ /**
164
+ * add breadcrumb for forgot password
165
+ * @access public
166
+ * @param Varien_Event_Observer
167
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
168
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
169
+ */
170
+ public function controller_action_layout_render_before_customer_account_forgotpassword($observer){
171
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_account_forgotpassword');
172
+ if ($showBreadcrumbs){
173
+ $this->_addHomeBreadcrumb();
174
+ $this->_addAccountBreadcrumb();
175
+ $this->_addCrumb('forgot_password', Mage::helper('customer')->__('Forgot Your Password?'));
176
+ }
177
+ return $this;
178
+ }
179
+ /**
180
+ * add breadcrumb for account index
181
+ * @access public
182
+ * @param Varien_Event_Observer
183
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
184
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
185
+ */
186
+ public function controller_action_layout_render_before_customer_account_index($observer){
187
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_account_index');
188
+ if ($showBreadcrumbs){
189
+ $this->_addHomeBreadcrumb();
190
+ $this->_addAccountBreadcrumb(false);
191
+ }
192
+ return $this;
193
+ }
194
+ /**
195
+ * add breadcrumb for register page
196
+ * @access public
197
+ * @param Varien_Event_Observer
198
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
199
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
200
+ */
201
+ public function controller_action_layout_render_before_customer_account_create($observer){
202
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_account_register');
203
+ if ($showBreadcrumbs){
204
+ $this->_addHomeBreadcrumb();
205
+ $this->_addAccountBreadcrumb();
206
+ $this->_addCrumb('register', Mage::helper('customer')->__('Create an Account'));
207
+ }
208
+ return $this;
209
+ }
210
+ /**
211
+ * add breadcrumb for account information
212
+ * @access public
213
+ * @param Varien_Event_Observer
214
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
215
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
216
+ */
217
+ public function controller_action_layout_render_before_customer_account_edit($observer){
218
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_account_edit');
219
+ if ($showBreadcrumbs){
220
+ $this->_addHomeBreadcrumb();
221
+ $this->_addAccountBreadcrumb();
222
+ $this->_addCrumb('info', Mage::helper('customer')->__('Account Information'));
223
+ }
224
+ return $this;
225
+ }
226
+ /**
227
+ * add breadcrumb for address book index
228
+ * @access public
229
+ * @param Varien_Event_Observer
230
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
231
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
232
+ */
233
+ public function controller_action_layout_render_before_customer_address_index($observer){
234
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_address_index');
235
+ if ($showBreadcrumbs){
236
+ $this->_addHomeBreadcrumb();
237
+ $this->_addAccountBreadcrumb();
238
+ $this->_addCrumb('address_book', Mage::helper('customer')->__('Address Book'));
239
+ }
240
+ return $this;
241
+ }
242
+ /**
243
+ * add breadcrumb for address add/edit
244
+ * @access public
245
+ * @param Varien_Event_Observer
246
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
247
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
248
+ */
249
+ public function controller_action_layout_render_before_customer_address_form($observer){
250
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('customer_address_from');
251
+ if ($showBreadcrumbs){
252
+ $this->_addHomeBreadcrumb();
253
+ $this->_addAccountBreadcrumb();
254
+ $this->_addCrumb('address_book', Mage::helper('customer')->__('Address Book'), Mage::getUrl('customer/address/index'));
255
+ if (Mage::app()->getRequest()->getParam('id')){
256
+ $label = Mage::helper('customer')->__('Edit Address');
257
+ }
258
+ else{
259
+ $label = Mage::helper('customer')->__('Add New Address');
260
+ }
261
+ $this->_addCrumb('address_edit', $label);
262
+ }
263
+ return $this;
264
+ }
265
+ /**
266
+ * add breadcrumb for order history
267
+ * @access public
268
+ * @param Varien_Event_Observer
269
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
270
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
271
+ */
272
+ public function controller_action_layout_render_before_sales_order_history($observer){
273
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_order_history');
274
+ if ($showBreadcrumbs){
275
+ $this->_addHomeBreadcrumb()
276
+ ->_addAccountBreadcrumb()
277
+ ->_addOrderHistoryBreadcrumb(false);
278
+ }
279
+ return $this;
280
+ }
281
+ /**
282
+ * add breadcrumb for order details
283
+ * @access public
284
+ * @param Varien_Event_Observer
285
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
286
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
287
+ */
288
+ public function controller_action_layout_render_before_sales_order_view($observer){
289
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_order_view');
290
+ if ($showBreadcrumbs){
291
+ $this->_addHomeBreadcrumb()
292
+ ->_addAccountBreadcrumb()
293
+ ->_addOrderHistoryBreadcrumb()
294
+ ->_addOrderBreadcrumb(false);
295
+ }
296
+ return $this;
297
+ }
298
+ /**
299
+ * add breadcrumb for order invoices
300
+ * @access public
301
+ * @param Varien_Event_Observer
302
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
303
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
304
+ */
305
+ public function controller_action_layout_render_before_sales_order_invoice($observer){
306
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_order_invoice');
307
+ if ($showBreadcrumbs){
308
+ $this->_addHomeBreadcrumb()
309
+ ->_addAccountBreadcrumb()
310
+ ->_addOrderHistoryBreadcrumb()
311
+ ->_addOrderBreadcrumb();
312
+ $this->_addCrumb('invoices', Mage::helper('sales')->__('Invoices'));
313
+ }
314
+ return $this;
315
+ }
316
+ /**
317
+ * add breadcrumb for order shipments
318
+ * @access public
319
+ * @param Varien_Event_Observer
320
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
321
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
322
+ */
323
+ public function controller_action_layout_render_before_sales_order_shipment($observer){
324
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_order_shipment');
325
+ if ($showBreadcrumbs){
326
+ $this->_addHomeBreadcrumb()
327
+ ->_addAccountBreadcrumb()
328
+ ->_addOrderHistoryBreadcrumb()
329
+ ->_addOrderBreadcrumb();
330
+ $this->_addCrumb('shipments', Mage::helper('sales')->__('Shipments'));
331
+ }
332
+ return $this;
333
+ }
334
+ /**
335
+ * add breadcrumb for order refunds
336
+ * @access public
337
+ * @param Varien_Event_Observer
338
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
339
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
340
+ */
341
+ public function controller_action_layout_render_before_sales_order_creditmemo($observe){
342
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_order_creditmemo');
343
+ if ($showBreadcrumbs){
344
+ $this->_addHomeBreadcrumb()
345
+ ->_addAccountBreadcrumb()
346
+ ->_addOrderHistoryBreadcrumb()
347
+ ->_addOrderBreadcrumb();
348
+ $this->_addCrumb('creditmemo', Mage::helper('sales')->__('Refunds'));
349
+ }
350
+ return $this;
351
+ }
352
+ /**
353
+ * add breadcrumb for billing agreements
354
+ * @access public
355
+ * @param Varien_Event_Observer
356
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
357
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
358
+ */
359
+ public function controller_action_layout_render_before_sales_billing_agreement_index($observer){
360
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_billing_agreement');
361
+ if ($showBreadcrumbs){
362
+ $this->_addHomeBreadcrumb()
363
+ ->_addAccountBreadcrumb();
364
+ $this->_addCrumb('billing_agreement', Mage::helper('sales')->__('Billing Agreements'));
365
+ }
366
+ return $this;
367
+ }
368
+ /**
369
+ * add breadcrumb for recurring profiles
370
+ * @access public
371
+ * @param Varien_Event_Observer
372
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
373
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
374
+ */
375
+ public function controller_action_layout_render_before_sales_recurring_profile_index($observer){
376
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('sales_recurring_profile');
377
+ if ($showBreadcrumbs){
378
+ $this->_addHomeBreadcrumb()
379
+ ->_addAccountBreadcrumb();
380
+ $this->_addCrumb('billing_agreement', Mage::helper('sales')->__('Recurring Profiles'));
381
+ }
382
+ return $this;
383
+ }
384
+ /**
385
+ * add breadcrumb for product reviews
386
+ * @access public
387
+ * @param Varien_Event_Observer
388
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
389
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
390
+ */
391
+ public function controller_action_layout_render_before_review_customer_index($observer){
392
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('review_customer_index');
393
+ if ($showBreadcrumbs){
394
+ $this->_addHomeBreadcrumb()
395
+ ->_addAccountBreadcrumb();
396
+ $this->_addCrumb('reviews', Mage::helper('review')->__('My Product Reviews'));
397
+ }
398
+ return $this;
399
+ }
400
+ /**
401
+ * add breadcrumb for product review details
402
+ * @access public
403
+ * @param Varien_Event_Observer
404
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
405
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
406
+ */
407
+ public function controller_action_layout_render_before_review_customer_view($observer){
408
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('review_customer_view');
409
+ if ($showBreadcrumbs){
410
+ $this->_addHomeBreadcrumb()
411
+ ->_addAccountBreadcrumb();
412
+ $this->_addCrumb('reviews', Mage::helper('review')->__('My Product Reviews'), Mage::getUrl('review/customer/index'));
413
+ $this->_addCrumb('review', Mage::helper('review')->__('Review'));
414
+ }
415
+ return $this;
416
+ }
417
+ /**
418
+ * add breadcrumb for customer tags
419
+ * @access public
420
+ * @param Varien_Event_Observer
421
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
422
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
423
+ */
424
+ public function controller_action_layout_render_before_tag_customer_index($observer){
425
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('tag_customer_index');
426
+ if ($showBreadcrumbs){
427
+ $this->_addHomeBreadcrumb()
428
+ ->_addAccountBreadcrumb();
429
+ $this->_addCrumb('tags', Mage::helper('tag')->__('My tags'));
430
+ }
431
+ return $this;
432
+ }
433
+ /**
434
+ * add breadcrumb for customer tag view
435
+ * @access public
436
+ * @param Varien_Event_Observer
437
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
438
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
439
+ */
440
+ public function controller_action_layout_render_before_tag_customer_view($observer){
441
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('tag_customer_view');
442
+ if ($showBreadcrumbs){
443
+ $this->_addHomeBreadcrumb()
444
+ ->_addAccountBreadcrumb();
445
+ $this->_addCrumb('tags', Mage::helper('tag')->__('My tags'), Mage::getUrl('customer/tag/index'));
446
+ $this->_addCrumb('tag', Mage::getModel('tag/tag')->load(Mage::registry('tagId'))->getName());
447
+ }
448
+ return $this;
449
+ }
450
+ /**
451
+ * add breadcrumb for wishlist
452
+ * @param Varien_Event_Observer
453
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
454
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
455
+ */
456
+ public function controller_action_layout_render_before_wishlist_index_index($observer){
457
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('wishlist_index_index');
458
+ if ($showBreadcrumbs){
459
+ $this->_addHomeBreadcrumb()
460
+ ->_addAccountBreadcrumb();
461
+ $this->_addCrumb('wishist', Mage::helper('wishlist')->__('My Wishlist'));
462
+ }
463
+ return $this;
464
+ }
465
+ /**
466
+ * add breadcrumb for downloadable products
467
+ * @param Varien_Event_Observer
468
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
469
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
470
+ */
471
+ public function controller_action_layout_render_before_downloadable_customer_products($observer){
472
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('downloadable_customer_products');
473
+ if ($showBreadcrumbs){
474
+ $this->_addHomeBreadcrumb()
475
+ ->_addAccountBreadcrumb();
476
+ $this->_addCrumb('downloadable', Mage::helper('downloadable')->__('My Downloadable Products'));
477
+ }
478
+ return $this;
479
+ }
480
+ /**
481
+ * add breadcrumb for newsletter management
482
+ * @param Varien_Event_Observer
483
+ * @return Anais_Breadcrumbs_Model_Layout_Observer
484
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
485
+ */
486
+ public function controller_action_layout_render_before_newsletter_manage_index($observer){
487
+ $showBreadcrumbs = $this->_checkShowBreadcrumbs('newsletter_manage_index');
488
+ if ($showBreadcrumbs){
489
+ $this->_addHomeBreadcrumb()
490
+ ->_addAccountBreadcrumb();
491
+ $this->_addCrumb('newsletter', Mage::helper('newsletter')->__('Newsletter Subscription'));
492
+ }
493
+ return $this;
494
+ }
495
+ }
app/code/community/Anais/Breadcrumbs/etc/adminhtml.xml ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Anais_Breadcrumbs extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ *
13
+ * @category Anais
14
+ * @package Anais_Breadcrumbs
15
+ * @copyright Copyright (c) 2011 Anais Software Services
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ /**
19
+ * @category Anais
20
+ * @package Anais_Breadcrumbs
21
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
22
+ /
23
+ -->
24
+ <config>
25
+ <acl>
26
+ <resources>
27
+ <admin>
28
+ <children>
29
+ <system>
30
+ <children>
31
+ <config>
32
+ <children>
33
+ <breadcrumbs translate="title" module="breadcrumbs">
34
+ <title>Account breadcrumbs</title>
35
+ </breadcrumbs>
36
+ </children>
37
+ </config>
38
+ </children>
39
+ </system>
40
+ </children>
41
+ </admin>
42
+ </resources>
43
+ </acl>
44
+ </config>
app/code/community/Anais/Breadcrumbs/etc/config.xml ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Anais_Breadcrumbs extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ *
13
+ * @category Anais
14
+ * @package Anais_Breadcrumbs
15
+ * @copyright Copyright (c) 2011 Anais Software Services
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ /**
19
+ * @category Anais
20
+ * @package Anais_Breadcrumbs
21
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
22
+ */
23
+ -->
24
+ <config>
25
+ <modules>
26
+ <Anais_Breadcrumbs>
27
+ <version>1.0.0</version>
28
+ </Anais_Breadcrumbs>
29
+ </modules>
30
+ <global>
31
+ <models>
32
+ <breadcrumbs>
33
+ <class>Anais_Breadcrumbs_Model</class>
34
+ </breadcrumbs>
35
+ </models>
36
+ <helpers>
37
+ <breadcrumbs>
38
+ <class>Anais_Breadcrumbs_Helper</class>
39
+ </breadcrumbs>
40
+ </helpers>
41
+ </global>
42
+ <frontend>
43
+ <events>
44
+ <controller_action_layout_render_before_customer_account_index>
45
+ <observers>
46
+ <breadcrumbs>
47
+ <type>singleton</type>
48
+ <class>breadcrumbs/layout_observer</class>
49
+ <method>controller_action_layout_render_before_customer_account_index</method>
50
+ </breadcrumbs>
51
+ </observers>
52
+ </controller_action_layout_render_before_customer_account_index>
53
+ <controller_action_layout_render_before_customer_address_index>
54
+ <observers>
55
+ <breadcrumbs>
56
+ <type>singleton</type>
57
+ <class>breadcrumbs/layout_observer</class>
58
+ <method>controller_action_layout_render_before_customer_address_index</method>
59
+ </breadcrumbs>
60
+ </observers>
61
+ </controller_action_layout_render_before_customer_address_index>
62
+ <controller_action_layout_render_before_customer_address_form>
63
+ <observers>
64
+ <breadcrumbs>
65
+ <type>singleton</type>
66
+ <class>breadcrumbs/layout_observer</class>
67
+ <method>controller_action_layout_render_before_customer_address_form</method>
68
+ </breadcrumbs>
69
+ </observers>
70
+ </controller_action_layout_render_before_customer_address_form>
71
+ <controller_action_layout_render_before_customer_account_edit>
72
+ <observers>
73
+ <breadcrumbs>
74
+ <type>singleton</type>
75
+ <class>breadcrumbs/layout_observer</class>
76
+ <method>controller_action_layout_render_before_customer_account_edit</method>
77
+ </breadcrumbs>
78
+ </observers>
79
+ </controller_action_layout_render_before_customer_account_edit>
80
+ <controller_action_layout_render_before_sales_order_history>
81
+ <observers>
82
+ <breadcrumbs>
83
+ <type>singleton</type>
84
+ <class>breadcrumbs/layout_observer</class>
85
+ <method>controller_action_layout_render_before_sales_order_history</method>
86
+ </breadcrumbs>
87
+ </observers>
88
+ </controller_action_layout_render_before_sales_order_history>
89
+ <controller_action_layout_render_before_sales_order_view>
90
+ <observers>
91
+ <breadcrumbs>
92
+ <type>singleton</type>
93
+ <class>breadcrumbs/layout_observer</class>
94
+ <method>controller_action_layout_render_before_sales_order_view</method>
95
+ </breadcrumbs>
96
+ </observers>
97
+ </controller_action_layout_render_before_sales_order_view>
98
+ <controller_action_layout_render_before_sales_order_invoice>
99
+ <observers>
100
+ <breadcrumbs>
101
+ <type>singleton</type>
102
+ <class>breadcrumbs/layout_observer</class>
103
+ <method>controller_action_layout_render_before_sales_order_invoice</method>
104
+ </breadcrumbs>
105
+ </observers>
106
+ </controller_action_layout_render_before_sales_order_invoice>
107
+ <controller_action_layout_render_before_sales_order_shipment>
108
+ <observers>
109
+ <breadcrumbs>
110
+ <type>singleton</type>
111
+ <class>breadcrumbs/layout_observer</class>
112
+ <method>controller_action_layout_render_before_sales_order_shipment</method>
113
+ </breadcrumbs>
114
+ </observers>
115
+ </controller_action_layout_render_before_sales_order_shipment>
116
+ <controller_action_layout_render_before_sales_order_creditmemo>
117
+ <observers>
118
+ <breadcrumbs>
119
+ <type>singleton</type>
120
+ <class>breadcrumbs/layout_observer</class>
121
+ <method>controller_action_layout_render_before_sales_order_creditmemo</method>
122
+ </breadcrumbs>
123
+ </observers>
124
+ </controller_action_layout_render_before_sales_order_creditmemo>
125
+ <controller_action_layout_render_before_sales_billing_agreement_index>
126
+ <observers>
127
+ <breadcrumbs>
128
+ <type>singleton</type>
129
+ <class>breadcrumbs/layout_observer</class>
130
+ <method>controller_action_layout_render_before_sales_billing_agreement_index</method>
131
+ </breadcrumbs>
132
+ </observers>
133
+ </controller_action_layout_render_before_sales_billing_agreement_index>
134
+ <controller_action_layout_render_before_sales_recurring_profile_index>
135
+ <observers>
136
+ <breadcrumbs>
137
+ <type>singleton</type>
138
+ <class>breadcrumbs/layout_observer</class>
139
+ <method>controller_action_layout_render_before_sales_recurring_profile_index</method>
140
+ </breadcrumbs>
141
+ </observers>
142
+ </controller_action_layout_render_before_sales_recurring_profile_index>
143
+ <controller_action_layout_render_before_review_customer_index>
144
+ <observers>
145
+ <breadcrumbs>
146
+ <type>singleton</type>
147
+ <class>breadcrumbs/layout_observer</class>
148
+ <method>controller_action_layout_render_before_review_customer_index</method>
149
+ </breadcrumbs>
150
+ </observers>
151
+ </controller_action_layout_render_before_review_customer_index>
152
+ <controller_action_layout_render_before_review_customer_view>
153
+ <observers>
154
+ <breadcrumbs>
155
+ <type>singleton</type>
156
+ <class>breadcrumbs/layout_observer</class>
157
+ <method>controller_action_layout_render_before_review_customer_view</method>
158
+ </breadcrumbs>
159
+ </observers>
160
+ </controller_action_layout_render_before_review_customer_view>
161
+ <controller_action_layout_render_before_tag_customer_index>
162
+ <observers>
163
+ <breadcrumbs>
164
+ <type>singleton</type>
165
+ <class>breadcrumbs/layout_observer</class>
166
+ <method>controller_action_layout_render_before_tag_customer_index</method>
167
+ </breadcrumbs>
168
+ </observers>
169
+ </controller_action_layout_render_before_tag_customer_index>
170
+ <controller_action_layout_render_before_tag_customer_view>
171
+ <observers>
172
+ <breadcrumbs>
173
+ <type>singleton</type>
174
+ <class>breadcrumbs/layout_observer</class>
175
+ <method>controller_action_layout_render_before_tag_customer_view</method>
176
+ </breadcrumbs>
177
+ </observers>
178
+ </controller_action_layout_render_before_tag_customer_view>
179
+ <controller_action_layout_render_before_wishlist_index_index>
180
+ <observers>
181
+ <breadcrumbs>
182
+ <type>singleton</type>
183
+ <class>breadcrumbs/layout_observer</class>
184
+ <method>controller_action_layout_render_before_wishlist_index_index</method>
185
+ </breadcrumbs>
186
+ </observers>
187
+ </controller_action_layout_render_before_wishlist_index_index>
188
+ <controller_action_layout_render_before_customer_account_login>
189
+ <observers>
190
+ <breadcrumbs>
191
+ <type>singleton</type>
192
+ <class>breadcrumbs/layout_observer</class>
193
+ <method>controller_action_layout_render_before_customer_account_login</method>
194
+ </breadcrumbs>
195
+ </observers>
196
+ </controller_action_layout_render_before_customer_account_login>
197
+ <controller_action_layout_render_before_customer_account_create>
198
+ <observers>
199
+ <breadcrumbs>
200
+ <type>singleton</type>
201
+ <class>breadcrumbs/layout_observer</class>
202
+ <method>controller_action_layout_render_before_customer_account_create</method>
203
+ </breadcrumbs>
204
+ </observers>
205
+ </controller_action_layout_render_before_customer_account_create>
206
+ <controller_action_layout_render_before_customer_account_forgotpassword>
207
+ <observers>
208
+ <breadcrumbs>
209
+ <type>singleton</type>
210
+ <class>breadcrumbs/layout_observer</class>
211
+ <method>controller_action_layout_render_before_customer_account_forgotpassword</method>
212
+ </breadcrumbs>
213
+ </observers>
214
+ </controller_action_layout_render_before_customer_account_forgotpassword>
215
+ <controller_action_layout_render_before_downloadable_customer_products>
216
+ <observers>
217
+ <breadcrumbs>
218
+ <type>singleton</type>
219
+ <class>breadcrumbs/layout_observer</class>
220
+ <method>controller_action_layout_render_before_downloadable_customer_products</method>
221
+ </breadcrumbs>
222
+ </observers>
223
+ </controller_action_layout_render_before_downloadable_customer_products>
224
+ <controller_action_layout_render_before_newsletter_manage_index>
225
+ <observers>
226
+ <breadcrumbs>
227
+ <type>singleton</type>
228
+ <class>breadcrumbs/layout_observer</class>
229
+ <method>controller_action_layout_render_before_newsletter_manage_index</method>
230
+ </breadcrumbs>
231
+ </observers>
232
+ </controller_action_layout_render_before_newsletter_manage_index>
233
+ </events>
234
+ <translate>
235
+ <modules>
236
+ <Anais_Breadcrumbs>
237
+ <files>
238
+ <default>Anais_Breadcrumbs.csv</default>
239
+ </files>
240
+ </Anais_Breadcrumbs>
241
+ </modules>
242
+ </translate>
243
+ </frontend>
244
+ <adminhtml>
245
+ <translate>
246
+ <modules>
247
+ <Anais_Breadcrumbs>
248
+ <files>
249
+ <default>Anais_Breadcrumbs.csv</default>
250
+ </files>
251
+ </Anais_Breadcrumbs>
252
+ </modules>
253
+ </translate>
254
+ <events>
255
+ <controller_action_layout_generate_blocks_after>
256
+ <observers>
257
+ <breadcrumbs>
258
+ <class>breadcrumbs/adminhtml_observer</class>
259
+ <method>addConfigJsBlock</method>
260
+ </breadcrumbs>
261
+ </observers>
262
+ </controller_action_layout_generate_blocks_after>
263
+ </events>
264
+ </adminhtml>
265
+ <default>
266
+ <breadcrumbs>
267
+ <settings>
268
+ <enable_all>1</enable_all>
269
+ <enable_home>1</enable_home>
270
+ </settings>
271
+ </breadcrumbs>
272
+ </default>
273
+ </config>
app/code/community/Anais/Breadcrumbs/etc/system.xml ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Anais_Breadcrumbs extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ *
13
+ * @category Anais
14
+ * @package Anais_Breadcrumbs
15
+ * @copyright Copyright (c) 2011 Anais Software Services
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ /**
19
+ * @category Anais
20
+ * @package Anais_Breadcrumbs
21
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
22
+ */
23
+ -->
24
+ <config>
25
+ <tabs>
26
+ <anais translate="label" module="breadcrumbs">
27
+ <label>AnaisIT Extensions</label>
28
+ <sort_order>2000</sort_order>
29
+ </anais>
30
+ </tabs>
31
+ <sections>
32
+ <breadcrumbs translate="label" module="breadcrumbs">
33
+ <class>separator-top</class>
34
+ <label>Account breadcrumbs</label>
35
+ <tab>anais</tab>
36
+ <frontend_type>text</frontend_type>
37
+ <sort_order>500</sort_order>
38
+ <show_in_default>1</show_in_default>
39
+ <show_in_website>1</show_in_website>
40
+ <show_in_store>1</show_in_store>
41
+ <groups>
42
+ <settings translate="label" module="breadcrumbs">
43
+ <label>Settings</label>
44
+ <frontend_type>text</frontend_type>
45
+ <sort_order>10</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
+ <fields>
50
+ <enable_all translate="label" module="breadcrumbs">
51
+ <label>Enable for all available pages</label>
52
+ <frontend_type>select</frontend_type>
53
+ <source_model>adminhtml/system_config_source_yesno</source_model>
54
+ <sort_order>10</sort_order>
55
+ <show_in_default>1</show_in_default>
56
+ <show_in_website>1</show_in_website>
57
+ <show_in_store>1</show_in_store>
58
+ </enable_all>
59
+ <enable_specific translate="label" module="breadcrumbs">
60
+ <label>Enable for specific pages</label>
61
+ <frontend_type>multiselect</frontend_type>
62
+ <source_model>breadcrumbs/adminhtml_system_config_source_breadcrumb_pages</source_model>
63
+ <sort_order>20</sort_order>
64
+ <show_in_default>1</show_in_default>
65
+ <show_in_website>1</show_in_website>
66
+ <show_in_store>1</show_in_store>
67
+ </enable_specific>
68
+ <enable_home translate="label" module="breadcrumbs">
69
+ <label>Add hopemage breadcrumb</label>
70
+ <frontend_type>select</frontend_type>
71
+ <source_model>adminhtml/system_config_source_yesno</source_model>
72
+ <sort_order>30</sort_order>
73
+ <show_in_default>1</show_in_default>
74
+ <show_in_website>1</show_in_website>
75
+ <show_in_store>1</show_in_store>
76
+ </enable_home>
77
+ </fields>
78
+ </settings>
79
+ </groups>
80
+ </breadcrumbs>
81
+ </sections>
82
+ </config>
app/design/adminhtml/default/default/template/anais_breadcrumbs/config/js.phtml ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Anais_Breadcrumbs extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ *
12
+ * @category Anais
13
+ * @package Anais_Breadcrumbs
14
+ * @copyright Copyright (c) 2011 Anais Software Services
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+ /**
18
+ * @category Anais
19
+ * @package Anais_Breadcrumbs
20
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
21
+ */
22
+ ?>
23
+ <script type="text/javascript">
24
+ //<![CDATA[
25
+ var breadcrumbModel = Class.create();
26
+ breadcrumbModel.prototype = {
27
+ initialize : function()
28
+ {
29
+ this.enabled = $('breadcrumbs_settings_enable_all');
30
+ if (this.enabled){
31
+ this.bindEnabledChange();
32
+ this.refreshEnabledSelect();
33
+ }
34
+ },
35
+ bindEnabledChange: function()
36
+ {
37
+ Event.observe(this.enabled, 'change', this.refreshEnabledSelect.bind(this));
38
+ },
39
+ refreshEnabledSelect : function()
40
+ {
41
+ if (this.enabled.value == 0 || this.enabled.value == '') {
42
+ $('breadcrumbs_settings_enable_specific').up(1).show();
43
+
44
+ }
45
+ else{
46
+ $('breadcrumbs_settings_enable_specific').up(1).hide();
47
+ }
48
+ }
49
+ }
50
+ var breadcrumbInstance = new breadcrumbModel();
51
+ //]]>
52
+ </script>
app/etc/modules/Anais_Breadcrumbs.xml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Anais_Breadcrumbs extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ *
13
+ * @category Anais
14
+ * @package Anais_Breadcrumbs
15
+ * @copyright Copyright (c) 2011 Anais Software Services
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ /**
19
+ * @category Anais
20
+ * @package Anais_Breadcrumbs
21
+ * @author Marius Strajeru <marius.strajeru@anais-it.com>
22
+ */
23
+ -->
24
+ <config>
25
+ <modules>
26
+ <Anais_Breadcrumbs>
27
+ <active>true</active>
28
+ <codePool>community</codePool>
29
+ <depends>
30
+ <Mage_Customer />
31
+ </depends>
32
+ </Anais_Breadcrumbs>
33
+ </modules>
34
+ </config>
app/locale/en_US/Anais_Breadcrumbs.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Account breadcrumbs","Account breadcrumbs"
2
+ "AnaisIT Extensions","AnaisIT Extensions"
3
+ "Settings","Settings"
4
+ "Enable for all available pages","Enable for all available pages"
5
+ "Account Login Page","Account Login Page"
6
+ "Forgot Password Page","Forgot Password Page"
7
+ "Account Dashboard Page","Account Dashboard Page"
8
+ "Register Page","Register Page"
9
+ "Account Information Page","Account Information Page"
10
+ "Address Book Page","Address Book Page"
11
+ "Address Book Page - Add/Edit Address","Address Book Page - Add/Edit Address"
12
+ "Order History Page","Order History Page"
13
+ "Order Details Page","Order Details Page"
14
+ "Order Invoices Page","Order Invoices Page"
15
+ "Order Shipments Page","Order Shipments Page"
16
+ "Order Creditmemos Page","Order Creditmemos Page"
17
+ "Billing Agreements Page","Billing Agreements Page"
18
+ "Recurring Profile Page","Recurring Profile Page"
19
+ "Customer Reviews Page","Customer Reviews Page"
20
+ "Customer Review Details Page","Customer Review Details Page"
21
+ "Customer Tags Page","Customer Tags Page"
22
+ "Customer Tag Details Page","Customer Tag Details Page"
23
+ "My Downloadable Products Page","My Downloadable Products Page"
24
+ "Wishlist Page","Wishlist Page"
25
+ "Newsletter Subscription Page","Newsletter Subscription Page"
app/locale/ro_RO/Anais_Breadcrumbs.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Account breadcrumbs","Breadcrumbs pentru cont"
2
+ "AnaisIT Extensions","AnaisIT Extensions"
3
+ "Settings","Setari"
4
+ "Enable for all available pages","Activeaza pentru toate paginile"
5
+ "Account Login Page","Pagina logare cont"
6
+ "Forgot Password Page","Pagina 'Am uitat parola'"
7
+ "Account Dashboard Page","Prima pagina a contului"
8
+ "Register Page","Pagina de creare cont"
9
+ "Account Information Page","Pagina cu informatii despre cont"
10
+ "Address Book Page","Pagina cu lista de adrese"
11
+ "Address Book Page - Add/Edit Address","Pagina cu lista de adrese - Adaugare/Editare adresa"
12
+ "Order History Page","Pagina Istoric comenzi"
13
+ "Order Details Page","Pagina detalii comanda"
14
+ "Order Invoices Page","Pagina facturi"
15
+ "Order Shipments Page","Pagina livrari"
16
+ "Order Creditmemos Page","Pagina pentru facturi stornate"
17
+ "Billing Agreements Page","Acordurile de facturare"
18
+ "Recurring Profile Page","Pagina profile recurente"
19
+ "Customer Reviews Page","Pagina cu recenzii"
20
+ "Customer Review Details Page","Pagina cu detalii despre recenzie"
21
+ "Customer Tags Page","Pagina cu taguri pentru client"
22
+ "Customer Tag Details Page","Pagina detalii tag"
23
+ "My Downloadable Products Page","Pagina produse descarcabile"
24
+ "Wishlist Page","Pagina produse salvate (wishlist)"
25
+ "Newsletter Subscription Page","Pagina de abonare la newsletter"
package.xml ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Anais_Breadcrumbs</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license>OSL 3.0</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>This extension allows you to add breadcrumbs for the account pages.</summary>
10
+ <description>This extension allows you to add breadcrumbs for the account pages. You can enable it for all the available account pages or just specific pages.</description>
11
+ <notes>This extension allows you to add breadcrumbs for the account pages.</notes>
12
+ <authors><author><name>Anais Software</name><user>AnaisSoftware</user><email>magento@anais-it.com</email></author></authors>
13
+ <date>2011-09-05</date>
14
+ <time>10:04:08</time>
15
+ <contents><target name="magecommunity"><dir name="Anais"><dir name="Breadcrumbs"><dir name="Helper"><file name="Data.php" hash="701e65c29608c4a9dec6e8ed5a77688e"/></dir><dir name="Model"><dir name="Adminhtml"><file name="Observer.php" hash="54fcfab2d35fb290b7494a94407ef371"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Breadcrumb"><file name="Pages.php" hash="e67e2c2025249c01735dc437d16d2298"/></dir></dir></dir></dir></dir><dir name="Layout"><file name="Observer.php" hash="80cef0fd83c6ba8464002070fc2cc14d"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="6e3a7e62c8fc29fcd532fb21fc35c32c"/><file name="config.xml" hash="8af8c47bfd68235d858e7f3c68cd1de6"/><file name="system.xml" hash="4f068804b6245dcea6e776d55b1d2a79"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Anais_Breadcrumbs.xml" hash="d4609c8e2ab025a71d2cb21242bffcd5"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Anais_Breadcrumbs.csv" hash="08bbbdf35fdbb25799c2127bb003a2fa"/></dir><dir name="ro_RO"><file name="Anais_Breadcrumbs.csv" hash="1e40dedacb83a29dd3263bd00ae8155d"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="anais_breadcrumbs"><dir><dir name="config"><file name="js.phtml" hash="8c20f5f87898611362863808c2ae7bb9"/></dir></dir></dir></dir></dir></dir></dir></target></contents>
16
+ <compatible/>
17
+ <dependencies><required><php><min>5.2.13</min><max>6.0.0</max></php></required></dependencies>
18
+ </package>