· 7 years ago · Feb 01, 2019, 06:58 AM
1<?xml version="1.0"?>
2 <config>
3 <modules>
4 <Bss_AdminGrid>
5 <active>true</active>
6 <codePool>local</codePool>
7 </Bss_AdminGrid>
8 </modules>
9 </config>
10
11<?xml version="1.0"?>
12<config>
13 <modules>
14 <Bss_AdminGrid>
15 <version>1.0.0</version>
16 </Bss_AdminGrid>
17 </modules>
18 <admin>
19 <routers>
20 <adminhtml>
21 <args>
22 <modules>
23 <bss_admingrid before="Mage_Adminhtml">Bss_AdminGrid_Adminhtml</bss_admingrid>
24 </modules>
25 </args>
26 </adminhtml>
27 </routers>
28 </admin>
29 <adminhtml>
30 <layout>
31 <updates>
32 <admingrid>
33 <file>admingrid.xml</file>
34 </admingrid>
35 </updates>
36 </layout>
37 </adminhtml>
38 <global>
39 <helpers>
40 <admingrid>
41 <class>Bss_AdminGrid_Helper</class>
42 </admingrid>
43 </helpers>
44 <blocks>
45 <admingrid>
46 <class>Bss_AdminGrid_Block</class>
47 </admingrid>
48 </blocks>
49 <models>
50 <admingrid>
51 <class>Bss_AdminGrid_Model</class>
52 <resourceModel>admingrid_resource</resourceModel>
53 </admingrid>
54 <admingrid_resource>
55 <class>Bss_AdminGrid_Model_Resource</class>
56 <entities>
57 <admingrid_table>
58 <table>admingrid_table</table>
59 </admingrid_table>
60 </entities>
61 </admingrid_resource>
62 <!-- Resource model to create a database table -->
63 <admingrid_resource>
64 <class>Bss_AdminGrid_Model_Resource</class>
65 <entities>
66 <adgrid>
67 <table>admingrid_adgrid</table>
68 </adgrid>
69 </entities>
70 </admingrid_resource>
71 </models>
72
73 <resources>
74 <admingrid_setup>
75 <setup>
76 <module>Bss_AdminGrid</module>
77 </setup>
78 </admingrid_setup>
79 <connection>
80 <use>core_setup</use>
81 </connection>
82
83 <admingrid_write>
84 <connection>
85 <use>core_write</use>
86 </connection>
87 </admingrid_write>
88
89 <admingrid_read>
90 <connection>
91 <use>core_read</use>
92 </connection>
93 </admingrid_read>
94 </resources>
95
96 </global>
97
98 <layout>
99 <updates>
100 <admingrid>
101 <file>bss/admingrid.xml</file>
102 </admingrid>
103 </updates>
104 </layout>
105</config>
106
107<?php
108
109class Bss_AdminGrid_Helper_Data extends Mage_Core_Helper_Abstract
110{
111}
112
113<?xml version="1.0"?>
114<config>
115<menu>
116<admingrid module="admingrid" translate="title">
117 <title>AdminGrid</title>
118 <sort_order>100</sort_order>
119 <children>
120 <adgrid module="admingrid" translate="title">
121 <title>Manage Items</title>
122 <sort_order>0</sort_order>
123 <action>*/adgrid</action>
124 </adgrid>
125 </children>
126 </admingrid>
127 </menu>
128 <acl>
129 <resources>
130 <all>
131 <title>Allow Everything</title>
132 </all>
133 <admin>
134 <children>
135 <admingrid translate="title" module="admingrid">
136 <title>AdminGrid</title>
137 <sort_order>1000</sort_order>
138 <children>
139 <admingridbackend translate="title">
140 <title>Manage Items</title>
141 </admingridbackend>
142 </children>
143 </admingrid>
144 </children>
145 </admin>
146 </resources>
147 </acl>
148</config>
149
150<?php
151
152class Bss_AdminGrid_Model_Adgrid extends Mage_Core_Model_Abstract
153{
154 protected function _construct()
155 {
156 $this->_init('admingrid/adgrid');
157 }
158}
159
160<?php
161
162class Bss_AdminGrid_Model_Mysql4_Adgrid extends Mage_Core_Model_Mysql4_Abstract
163{
164 public function _construct()
165 {
166 $this->_init('admingrid/adgrid', 'id');
167 }
168}
169
170<?php
171
172class Bss_AdminGrid_Model_Mysql4_Adgrid_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
173{
174 protected function _construct()
175 {
176 $this->_init('admingrid/adgrid');
177 }
178}
179
180<?php
181
182class Bss_AdminGrid_Model_Resource_Adgrid extends Mage_Core_Model_Resource_Db_Abstract
183{
184 protected function _construct()
185 {
186 $this->_init('admingrid/adgrid', 'id');
187 }
188}
189
190<?php
191
192
193class Bss_AdminGrid_Block_Adminhtml_Adgrid extends Mage_Adminhtml_Block_Widget_Grid_Container {
194 public function __construct()
195 {
196 $this->_blockGroup = 'admingrid';
197 $this->_controller = 'adminhtml_adgrid';
198 $this->_headerText = $this->__('Admin Grid');
199 $this->_addButtonLabel = Mage::helper('admingrid')->__('Add Attribute Options');
200 parent::__construct();
201 }
202}
203
204<?php
205
206
207class Bss_AdminGrid_Block_Adminhtml_Adgrid_Grid extends Mage_Adminhtml_Block_Widget_Grid {
208 public function __construct()
209 {
210 parent::__construct();
211
212 $this->setDefaultSort('adminGrid_id');
213 $this->setId('adminGrid');
214 $this->setDefaultDir('asc');
215 $this->setSaveParametersInSession(true);
216 }
217 protected function _getCollectionClass()
218 {
219 return 'admingrid/adgrid_collection';
220 }
221
222 protected function _prepareCollection()
223 {
224 $collection = Mage::getResourceModel($this->_getCollectionClass());
225 $this->setCollection($collection);
226
227 return parent::_prepareCollection();
228 }
229 protected function _prepareColumns()
230 {
231
232 $this->addColumn('id',
233 array(
234 'header'=> $this->__('ID'),
235 'align' =>'right',
236 'width' => '50px',
237 'index' => 'id'
238 )
239 );
240
241 $this->addColumn('items',
242 array(
243 'header'=> $this->__('Items'),
244 'index' => 'items'
245 )
246 );
247 return parent::_prepareColumns();
248 }
249}
250
251<?php
252
253class Bss_AdminGrid_Adminhtml_AdgridController extends Mage_Adminhtml_Controller_Action
254{
255
256 protected function _isAllowed()
257 {
258 return Mage::getSingleton('admin/session')->isAllowed('admingrid/adgrid');
259 }
260
261
262 public function indexAction()
263 {
264
265
266 $this->loadLayout();
267 $this->renderLayout();
268 }
269 public function gridAction()
270 {
271 $this->loadLayout();
272 $this->getResponse()->setBody(
273 $this->getLayout()->createBlock('bss_admingrid/adminhtml_adgrid_grid')->toHtml()
274 );
275 }
276
277 public function exportCsvAction()
278 {
279 $fileName = 'admingrid.csv';
280 $grid = $this->getLayout()->createBlock('bss_admingrid/adminhtml_adgrid_grid');
281 $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
282 }
283
284 public function exportExcelAction()
285 {
286 $fileName = 'admingrid.xml';
287 $grid = $this->getLayout()->createBlock('bss_admingrid/adminhtml_adgrid_grid');
288 $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
289 }
290
291}
292
293<?php
294
295$installer = $this;
296$installer->startSetup();
297$installer->run("
298 DROP TABLE IF EXISTS {$this->getTable('admingrid/adgrid')};
299 CREATE TABLE {$this->getTable('admingrid/adgrid')} (
300 `id` int(11) unsigned NOT NULL auto_increment,
301 `item` text NULL ,
302 PRIMARY KEY (`Id`)
303 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
304 ");
305$installer->endSetup();
306
307<?xml version="1.0"?>
308<layout version="0.1.0">
309 <adminhtml_adgrid_index>
310 <reference name="content">
311 <block type="admingrid/adminhtml_adgrid" name="adgrid"/>
312 </reference>
313 </adminhtml_adgrid_index>
314</layout>