SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
How to Create Adminhtml
 Controller in Magento Extension



Creating your own Adminhtml pages in Magento.


                    Hendy Irawan at Bippo Indonesia
URL Structure
http://demo.bippo.co.id
     /admin/module/controller/action/key/***
Create Module's etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Bippo_MyBanner >
            <version>1.0.0</version>
        </Bippo_MyBanner >
    </modules>
</config>
Activate in etc/modules/
   {company}_{module}.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Bippo_MyBanner >
            <active>true</active>
            <codePool>community</codePool>
        </Bippo_MyBanner >
    </modules>
</config>
Controller Class PHP Code
class Bippo_MyBanner_Adminhtml_Creatives Controller
  extends Mage_Adminhtml_Controller_Action
{
    public function helloAction(){
    }
}




              Bippo/MyBanner/controllers/Adminhtml/CreativesController.php
Router Config
...
<admin>
  <routers>
    <mybanner>
      <use>admin</use>
      <args>
        <module>Bippo_MyBanner</module>
        <frontName>mybanner</frontName>
      </args>
    </mybanner>
  </routers>
</admin>
...


                                    Bippo/MyBanner/etc/config.xml
"Raw" Action
Simple Action
public function helloAction(){
    echo "Hello World";
}
Admin Panel Menu Link
<adminhtml>
  <menu>
    <catalog>
      <children>
         <mybanner_admincreatives translate="title"
              module="mybanner">
           <title>Banner Creatives </title>
           <action>mybanner/adminhtml_creatives </action>
         </mybanner_admincreatives >
      </children>
    </catalog>
  </menu>
</adminhtml>




                                        Bippo/MyBanner/etc/config.xml
Test it
   Go to Admin Panel
   Navigate to "Catalog > Banner Creatives"
Layout-based Action
Layout Config
<adminhtml>
    <layout>
          <updates>
               <mybanner>
                   <file>mybanner.xml</file>
               </mybanner>
          </updates>
      </layout>
  </adminhtml>




                Bippo/MyBanner/etc/config.xml
Layout XML
<?xml version="1.0" encoding="UTF-8"?>
  <layout version="0.1.0">
      <arithmetic_integer_multiply>
          <reference name="root">
              <action method="setTemplate">
                  <template>page/1column.phtml</template>
              </action>
          </reference>
          <reference name="content">
              <block type="core/template"
  name="arithmetic_integer_multiply"
  template="arithmetic/integer/multiply.phtml"></block>
          </reference>
      </arithmetic_integer_multiply>
  </layout>



                                         bippomybanner.xml
Load Layout in Action
public function smallAction(){
    $this->loadLayout();
    $this->renderLayout();
}
Test
   /mybanner/display/small
Get Adminhtml Action URL
           from PHP
$url = Mage::helper('adminhtml')
  ->getUrl('mybanner/adminhtml_creatives/edit ',
    array('city'=>'Bandung') );
GET & Post Variables
$request = Mage::app()->getRequest();

// GET
$productId = $request->getParam('product_id', 44);
// 44 = default value if "product_id" not specified

// POST, method 1
$description = $request->getPost('description', "hi");

// POST, method 2
$postData = $request->getPost();
$description = $postData['description'];
Process Input
<?php
$url = Mage::helper('adminhtml')->getUrl('mybanner/adminhtml_creatives/edit');
<form action="<?php echo $url ?>" method="post">
  <?php echo $this->getBlockHtml('formkey')?>
    <fieldset>
        <ul>
             <li>
                  <label for="int1">Integer 1</label>
                  <input type="text" id="int1" name="int1" />
             </li>
             <li>
                  <label for="int2">Integer 2</label>
                  <input type="text" id="int2" name="int2" />
             </li>
             <li><input type="submit" value="Multiply" /></li>
        </ul>
    </fieldset>
</form>
Is Form POST ?
$this­>getRequest()­>isPost()
Process POST Parameters
public function multiplyAction(){
    if ($this->getRequest()->isPost()){
         $int1 = $this->getRequest()->getPost('int1');
         $int2 = $this->getRequest()->getPost('int2');
         $result = $int1 * $int2;
    Mage::getSingleton('customer/session')
      ->addSuccess("$int1 * $int2 = $result");
    }
    $this->loadLayout();
    $this->_initLayoutMessages('customer/session');
    $this->renderLayout();
}
Get & Set Session Variables
$session = Mage::getSingleton('core/session');

// get
$token = $session->getAccessToken();

// set
$session->setAddress('Rereongan Sarupi');
Support Messages Block
$this­>_initLayoutMessages('adminhtml/session');




Other choices:
   customer/session
   catalog/session
   checkout/session
Add Message
Mage::getSingleton('customer/session')
  ->addSuccess("$int1 * $int2 = $result");
Display Message in PHTML
           Template
echo $this­>getMessagesBlock()­>getGroupedHtml();
References
   http://www.magentocommerce.com/wiki/5_­_modules_and_development/0_­_module_d
   http://www.magentocommerce.com/boards/viewthread/19386/
   http://inchoo.net/ecommerce/magento/getting­started­with­building­admin­module­in­ma

Mais conteúdo relacionado

Mais procurados

Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.NetĐề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
Thùy Linh
 
Test simple present_en
Test simple present_enTest simple present_en
Test simple present_en
Jkelly Vieira
 
NEF – PI – QUICKTEST 4 - VOCABULARY
NEF – PI – QUICKTEST 4 - VOCABULARYNEF – PI – QUICKTEST 4 - VOCABULARY
NEF – PI – QUICKTEST 4 - VOCABULARY
Alicia Garcia
 
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.NetĐề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
Thùy Linh
 
Possessivartikel
PossessivartikelPossessivartikel
Possessivartikel
cgrobert83
 
Romeo&juliet - fragment
Romeo&juliet - fragmentRomeo&juliet - fragment
Romeo&juliet - fragment
bdelgado
 
Prepositions of time. Test
Prepositions of time. TestPrepositions of time. Test
Prepositions of time. Test
Irene_Ermolova
 

Mais procurados (20)

Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.NetĐề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 3 có đáp án - VipLam.Net
 
Test simple present_en
Test simple present_enTest simple present_en
Test simple present_en
 
Một vài cấu trúc ngữ pháp đặc biệt trong tiếng anh
Một vài cấu trúc ngữ pháp đặc biệt trong tiếng anhMột vài cấu trúc ngữ pháp đặc biệt trong tiếng anh
Một vài cấu trúc ngữ pháp đặc biệt trong tiếng anh
 
TOEIC Speaking Practice - Speculation Phrases
TOEIC Speaking Practice - Speculation PhrasesTOEIC Speaking Practice - Speculation Phrases
TOEIC Speaking Practice - Speculation Phrases
 
NEF – PI – QUICKTEST 4 - VOCABULARY
NEF – PI – QUICKTEST 4 - VOCABULARYNEF – PI – QUICKTEST 4 - VOCABULARY
NEF – PI – QUICKTEST 4 - VOCABULARY
 
modal-verbs.pdf
modal-verbs.pdfmodal-verbs.pdf
modal-verbs.pdf
 
Imperativ
ImperativImperativ
Imperativ
 
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.NetĐề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
Đề Tiếng Anh 12 cơ bản unit 4 có đáp án - VipLam.Net
 
Both, either, and neither
Both, either, and neitherBoth, either, and neither
Both, either, and neither
 
Meine Familie und ihre Hobbys
Meine Familie und ihre HobbysMeine Familie und ihre Hobbys
Meine Familie und ihre Hobbys
 
NEF – PI – PROGRESS TESTS 1 – 6 - READING
NEF – PI – PROGRESS TESTS 1 – 6 - READINGNEF – PI – PROGRESS TESTS 1 – 6 - READING
NEF – PI – PROGRESS TESTS 1 – 6 - READING
 
must.pdf
must.pdfmust.pdf
must.pdf
 
Thực tập vi sinh kỹ thuật môi trường - Nguyễn Mỹ Linh, Nguyễn Thị Tịnh Ấu.pdf
Thực tập vi sinh kỹ thuật môi trường - Nguyễn Mỹ Linh, Nguyễn Thị Tịnh Ấu.pdfThực tập vi sinh kỹ thuật môi trường - Nguyễn Mỹ Linh, Nguyễn Thị Tịnh Ấu.pdf
Thực tập vi sinh kỹ thuật môi trường - Nguyễn Mỹ Linh, Nguyễn Thị Tịnh Ấu.pdf
 
Possessivartikel
PossessivartikelPossessivartikel
Possessivartikel
 
Im Hotel - Wortschatz zum Thema - Menschen A1 - Lektion 16
Im Hotel - Wortschatz zum Thema - Menschen A1 - Lektion 16Im Hotel - Wortschatz zum Thema - Menschen A1 - Lektion 16
Im Hotel - Wortschatz zum Thema - Menschen A1 - Lektion 16
 
Wegbeschreibung 2
Wegbeschreibung 2Wegbeschreibung 2
Wegbeschreibung 2
 
HAUSARBEIT- Imperativ von "du" / Menschen A1 - Lektion 20
HAUSARBEIT- Imperativ von "du" / Menschen A1 - Lektion 20HAUSARBEIT- Imperativ von "du" / Menschen A1 - Lektion 20
HAUSARBEIT- Imperativ von "du" / Menschen A1 - Lektion 20
 
các dạng bài tập chia động từ
các dạng bài tập chia động từcác dạng bài tập chia động từ
các dạng bài tập chia động từ
 
Romeo&juliet - fragment
Romeo&juliet - fragmentRomeo&juliet - fragment
Romeo&juliet - fragment
 
Prepositions of time. Test
Prepositions of time. TestPrepositions of time. Test
Prepositions of time. Test
 

Semelhante a How to Create A Magento Adminhtml Controller in Magento Extension

How to create a magento controller in magento extension
How to create a magento controller in magento extensionHow to create a magento controller in magento extension
How to create a magento controller in magento extension
Hendy Irawan
 
How to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension TutorialHow to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension Tutorial
Hendy Irawan
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Masashi Shibata
 

Semelhante a How to Create A Magento Adminhtml Controller in Magento Extension (20)

How to create a magento controller in magento extension
How to create a magento controller in magento extensionHow to create a magento controller in magento extension
How to create a magento controller in magento extension
 
Magento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request FlowMagento Live Australia 2016: Request Flow
Magento Live Australia 2016: Request Flow
 
How to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension TutorialHow to Develop a Basic Magento Extension Tutorial
How to Develop a Basic Magento Extension Tutorial
 
Magento Performance Toolkit
Magento Performance ToolkitMagento Performance Toolkit
Magento Performance Toolkit
 
Empowering users: modifying the admin experience
Empowering users: modifying the admin experienceEmpowering users: modifying the admin experience
Empowering users: modifying the admin experience
 
Introduction to backbone presentation
Introduction to backbone presentationIntroduction to backbone presentation
Introduction to backbone presentation
 
Using and reusing CakePHP plugins
Using and reusing CakePHP pluginsUsing and reusing CakePHP plugins
Using and reusing CakePHP plugins
 
Desbravando Web Components
Desbravando Web ComponentsDesbravando Web Components
Desbravando Web Components
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
QCon 2015 - Thinking in components: A new paradigm for Web UI
QCon 2015 - Thinking in components: A new paradigm for Web UIQCon 2015 - Thinking in components: A new paradigm for Web UI
QCon 2015 - Thinking in components: A new paradigm for Web UI
 
Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)Single Page Applications in Angular (italiano)
Single Page Applications in Angular (italiano)
 
Implement rich snippets in your webshop
Implement rich snippets in your webshopImplement rich snippets in your webshop
Implement rich snippets in your webshop
 
07 Php Mysql Update Delete
07 Php Mysql Update Delete07 Php Mysql Update Delete
07 Php Mysql Update Delete
 
Curso Symfony - Clase 3
Curso Symfony - Clase 3Curso Symfony - Clase 3
Curso Symfony - Clase 3
 
Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8
 
Django Vs Rails
Django Vs RailsDjango Vs Rails
Django Vs Rails
 
First Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven DevelopmentFirst Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven Development
 
Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django applicationDjangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoアプリのデプロイに関するプラクティス / Deploy django application
 
Getting the Most Out of jQuery Widgets
Getting the Most Out of jQuery WidgetsGetting the Most Out of jQuery Widgets
Getting the Most Out of jQuery Widgets
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFaces
 

Mais de Hendy Irawan

Apa yang dapat Anda raih dengan Besut Kode Universitas
Apa yang dapat Anda raih dengan Besut Kode UniversitasApa yang dapat Anda raih dengan Besut Kode Universitas
Apa yang dapat Anda raih dengan Besut Kode Universitas
Hendy Irawan
 

Mais de Hendy Irawan (18)

Apa yang dapat Anda raih dengan Besut Kode Universitas
Apa yang dapat Anda raih dengan Besut Kode UniversitasApa yang dapat Anda raih dengan Besut Kode Universitas
Apa yang dapat Anda raih dengan Besut Kode Universitas
 
Persiapan Google Summer of Code (GSoC)
Persiapan Google Summer of Code (GSoC)Persiapan Google Summer of Code (GSoC)
Persiapan Google Summer of Code (GSoC)
 
Tutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di Java
 
EBA Internship Program 2015-2016
EBA Internship Program 2015-2016EBA Internship Program 2015-2016
EBA Internship Program 2015-2016
 
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
Big Data innovation in Japan’s energy industry - EBA Fieldwork 2015
 
EBA (Evidence-Based Approach) Culture
EBA (Evidence-Based Approach) CultureEBA (Evidence-Based Approach) Culture
EBA (Evidence-Based Approach) Culture
 
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
Peraturan Walikota (Perwal) PPDB Kota Bandung Tahun 2015
 
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
Sosialisasi Petunjuk Teknis Penerimaan Peserta Didik Baru (PPDB) Kota Bandung...
 
Twitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian NetworkTwitter Author Prediction from Tweets using Bayesian Network
Twitter Author Prediction from Tweets using Bayesian Network
 
Biased Media - Game Theory (EL5000) Course Project
Biased Media - Game Theory (EL5000) Course ProjectBiased Media - Game Theory (EL5000) Course Project
Biased Media - Game Theory (EL5000) Course Project
 
3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit3D Reality Tracking in Realtime - Team Hendy-Sigit
3D Reality Tracking in Realtime - Team Hendy-Sigit
 
Pemrograman Logika Induktif (Inductive Logic Programming)
Pemrograman Logika Induktif (Inductive Logic Programming)Pemrograman Logika Induktif (Inductive Logic Programming)
Pemrograman Logika Induktif (Inductive Logic Programming)
 
Inductive Logic Programming
Inductive Logic ProgrammingInductive Logic Programming
Inductive Logic Programming
 
AksiMata Studio Tablet
AksiMata Studio TabletAksiMata Studio Tablet
AksiMata Studio Tablet
 
AksiMata Studio for Lenovo® AIO
AksiMata Studio for Lenovo® AIOAksiMata Studio for Lenovo® AIO
AksiMata Studio for Lenovo® AIO
 
AksiMata Studio
AksiMata StudioAksiMata Studio
AksiMata Studio
 
Dasar Koperasi Kredit (Credit Union)
Dasar Koperasi Kredit (Credit Union)Dasar Koperasi Kredit (Credit Union)
Dasar Koperasi Kredit (Credit Union)
 
Search Engine Marketing (SEM)
Search Engine Marketing (SEM)Search Engine Marketing (SEM)
Search Engine Marketing (SEM)
 

Último

Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
Amil Baba Naveed Bangali
 
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
Amil Baba Naveed Bangali
 
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
baharayali
 
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
makhmalhalaaay
 
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
baharayali
 
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
baharayali
 

Último (20)

Legends of the Light v2.pdf xxxxxxxxxxxxx
Legends of the Light v2.pdf xxxxxxxxxxxxxLegends of the Light v2.pdf xxxxxxxxxxxxx
Legends of the Light v2.pdf xxxxxxxxxxxxx
 
St. Louise de Marillac and Poor Children
St. Louise de Marillac and Poor ChildrenSt. Louise de Marillac and Poor Children
St. Louise de Marillac and Poor Children
 
Sabbath Cooking seventh-day sabbath.docx
Sabbath Cooking seventh-day sabbath.docxSabbath Cooking seventh-day sabbath.docx
Sabbath Cooking seventh-day sabbath.docx
 
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
 
A Spiritual Guide To Truth v10.pdf xxxxxxx
A Spiritual Guide To Truth v10.pdf xxxxxxxA Spiritual Guide To Truth v10.pdf xxxxxxx
A Spiritual Guide To Truth v10.pdf xxxxxxx
 
Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
Top 10 Amil baba list Famous Amil baba In Pakistan Amil baba Kala jadu in Raw...
 
Genesis 1:10 || Meditate the Scripture daily verse by verse
Genesis 1:10  ||  Meditate the Scripture daily verse by verseGenesis 1:10  ||  Meditate the Scripture daily verse by verse
Genesis 1:10 || Meditate the Scripture daily verse by verse
 
St. Louise de Marillac and Care of the Sick Poor
St. Louise de Marillac and Care of the Sick PoorSt. Louise de Marillac and Care of the Sick Poor
St. Louise de Marillac and Care of the Sick Poor
 
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
Best Astrologer Vashikaran Specialist in Germany and France Black Magic Exper...
 
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
Famous Kala Jadu, Black magic expert in UK and Kala ilam expert in Saudi Arab...
 
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
Professional Amil baba, Kala jadu specialist in Multan and Kala ilam speciali...
 
The_Chronological_Life_of_Christ_Part_99_Words_and_Works
The_Chronological_Life_of_Christ_Part_99_Words_and_WorksThe_Chronological_Life_of_Christ_Part_99_Words_and_Works
The_Chronological_Life_of_Christ_Part_99_Words_and_Works
 
Genesis 1:5 - Meditate the Scripture Daily bit by bit
Genesis 1:5 - Meditate the Scripture Daily bit by bitGenesis 1:5 - Meditate the Scripture Daily bit by bit
Genesis 1:5 - Meditate the Scripture Daily bit by bit
 
NoHo First Good News online newsletter May 2024
NoHo First Good News online newsletter May 2024NoHo First Good News online newsletter May 2024
NoHo First Good News online newsletter May 2024
 
Deerfoot Church of Christ Bulletin 5 5 24
Deerfoot Church of Christ Bulletin 5 5 24Deerfoot Church of Christ Bulletin 5 5 24
Deerfoot Church of Christ Bulletin 5 5 24
 
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
Famous Kala Jadu, Black magic specialist in Lahore and Kala ilam expert in ka...
 
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
Popular Kala Jadu, Black magic expert in Karachi and Kala jadu expert in Laho...
 
From The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
From The Heart v8.pdf xxxxxxxxxxxxxxxxxxxFrom The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
From The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
 
St. John's Church Parish Magazine - May 2024
St. John's Church Parish Magazine - May 2024St. John's Church Parish Magazine - May 2024
St. John's Church Parish Magazine - May 2024
 
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
 

How to Create A Magento Adminhtml Controller in Magento Extension

  • 1. How to Create Adminhtml Controller in Magento Extension Creating your own Adminhtml pages in Magento.  Hendy Irawan at Bippo Indonesia
  • 2. URL Structure http://demo.bippo.co.id    /admin/module/controller/action/key/***
  • 3. Create Module's etc/config.xml <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Bippo_MyBanner > <version>1.0.0</version> </Bippo_MyBanner > </modules> </config>
  • 4. Activate in etc/modules/ {company}_{module}.xml <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Bippo_MyBanner > <active>true</active> <codePool>community</codePool> </Bippo_MyBanner > </modules> </config>
  • 5. Controller Class PHP Code class Bippo_MyBanner_Adminhtml_Creatives Controller extends Mage_Adminhtml_Controller_Action { public function helloAction(){ } } Bippo/MyBanner/controllers/Adminhtml/CreativesController.php
  • 6. Router Config ... <admin> <routers> <mybanner> <use>admin</use> <args> <module>Bippo_MyBanner</module> <frontName>mybanner</frontName> </args> </mybanner> </routers> </admin> ... Bippo/MyBanner/etc/config.xml
  • 9. Admin Panel Menu Link <adminhtml> <menu> <catalog> <children> <mybanner_admincreatives translate="title" module="mybanner"> <title>Banner Creatives </title> <action>mybanner/adminhtml_creatives </action> </mybanner_admincreatives > </children> </catalog> </menu> </adminhtml> Bippo/MyBanner/etc/config.xml
  • 10. Test it  Go to Admin Panel  Navigate to "Catalog > Banner Creatives"
  • 12. Layout Config <adminhtml> <layout> <updates> <mybanner> <file>mybanner.xml</file> </mybanner> </updates> </layout> </adminhtml> Bippo/MyBanner/etc/config.xml
  • 13. Layout XML <?xml version="1.0" encoding="UTF-8"?> <layout version="0.1.0"> <arithmetic_integer_multiply> <reference name="root"> <action method="setTemplate"> <template>page/1column.phtml</template> </action> </reference> <reference name="content"> <block type="core/template" name="arithmetic_integer_multiply" template="arithmetic/integer/multiply.phtml"></block> </reference> </arithmetic_integer_multiply> </layout> bippomybanner.xml
  • 14. Load Layout in Action public function smallAction(){ $this->loadLayout(); $this->renderLayout(); }
  • 15. Test  /mybanner/display/small
  • 16. Get Adminhtml Action URL from PHP $url = Mage::helper('adminhtml') ->getUrl('mybanner/adminhtml_creatives/edit ', array('city'=>'Bandung') );
  • 17. GET & Post Variables $request = Mage::app()->getRequest(); // GET $productId = $request->getParam('product_id', 44); // 44 = default value if "product_id" not specified // POST, method 1 $description = $request->getPost('description', "hi"); // POST, method 2 $postData = $request->getPost(); $description = $postData['description'];
  • 18. Process Input <?php $url = Mage::helper('adminhtml')->getUrl('mybanner/adminhtml_creatives/edit'); <form action="<?php echo $url ?>" method="post"> <?php echo $this->getBlockHtml('formkey')?> <fieldset> <ul> <li> <label for="int1">Integer 1</label> <input type="text" id="int1" name="int1" /> </li> <li> <label for="int2">Integer 2</label> <input type="text" id="int2" name="int2" /> </li> <li><input type="submit" value="Multiply" /></li> </ul> </fieldset> </form>
  • 19. Is Form POST ? $this­>getRequest()­>isPost()
  • 20. Process POST Parameters public function multiplyAction(){ if ($this->getRequest()->isPost()){ $int1 = $this->getRequest()->getPost('int1'); $int2 = $this->getRequest()->getPost('int2'); $result = $int1 * $int2; Mage::getSingleton('customer/session') ->addSuccess("$int1 * $int2 = $result"); } $this->loadLayout(); $this->_initLayoutMessages('customer/session'); $this->renderLayout(); }
  • 21. Get & Set Session Variables $session = Mage::getSingleton('core/session'); // get $token = $session->getAccessToken(); // set $session->setAddress('Rereongan Sarupi');
  • 22. Support Messages Block $this­>_initLayoutMessages('adminhtml/session'); Other choices:  customer/session  catalog/session  checkout/session
  • 23. Add Message Mage::getSingleton('customer/session') ->addSuccess("$int1 * $int2 = $result");
  • 24. Display Message in PHTML Template echo $this­>getMessagesBlock()­>getGroupedHtml();
  • 25. References  http://www.magentocommerce.com/wiki/5_­_modules_and_development/0_­_module_d  http://www.magentocommerce.com/boards/viewthread/19386/  http://inchoo.net/ecommerce/magento/getting­started­with­building­admin­module­in­ma