SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Magento

                     2010/08/07
          Magento-JP User Group
• Magento-JP
• twitter@hirokazu_nishi
•
•        Magento Cafe
Magento?
• Development by Magento.Inc(LA)
• PHP5.2.x only
• MySQL4.1.20 or later with InnoDB
• Academic Free Lisence v3.0
•                      ECommerce!
• 80,000
•
•
•
Trends of EC Platform




              magento    ec-cube    zencart 
Trends of EC Platform

     magento-beta




                     magento    ec-cube    zencart 
Trends of EC Platform

          magento-1.0
     magento-beta




                         magento    ec-cube    zencart 
Trends of EC Platform
                    magento-1.3


          magento-1.0
     magento-beta




                         magento    ec-cube    zencart 
Trends of EC Platform
                             magento-CE-1.4
                    magento-1.3


          magento-1.0
     magento-beta




                         magento    ec-cube    zencart 
Magento
Magento
app   code        core
                  community
                  local
      design      frontend
                  adminhtml
      etc
      locale
lib
js                            javascript

skin frontend
      adminhtml
design frontend default default layout     XML




                                locale



                                template



                foo     bar
Magento
•   XML

•
•
XML
XML
•               XML

•
•

•   XML
-Scalena News-
<?xml version="1.0"?>
<layout version="0.1.0">
! <default>
! ! <!--
! ! <reference name="right">
! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/
news/block.phtml"/>
! ! </reference>
! ! -->
! </default>
! <snews_index_index>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/items" name="snews.news" template="scalena/news/
news.phtml">
!               <block type="snews/pagination" name="snews.pagination" as="pagination"
template="scalena/news/pagination.phtml"/>
             </block>
        </reference>
    </snews_index_index>
    <snews_index_view>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/item" name="snews.detail" template="scalena/news/news-
detail.phtml" />
        </reference>
    </snews_index_view>
</layout>
•   block
•   reference
•   action
•   remove
block

•
    •
    • <block type=”foo” name=”foo”
      template=”foo.phtml” />
<?xml version="1.0"?>
<layout version="0.1.0">
! <default>
! ! <!--
! ! <reference name="right">
! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/
news/block.phtml"/>
! ! </reference>
! ! -->
! </default>
! <snews_index_index>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/items" name="snews.news" template="scalena/news/
news.phtml">
!               <block type="snews/pagination" name="snews.pagination" as="pagination"
template="scalena/news/pagination.phtml"/>
             </block>
        </reference>
    </snews_index_index>
    <snews_index_view>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/item" name="snews.detail" template="scalena/news/news-
detail.phtml" />
        </reference>
    </snews_index_view>
</layout>
reference


• name=”foo”
 • <reference name=”foo”>
<?xml version="1.0"?>
<layout version="0.1.0">
! <default>
! ! <!--
! ! <reference name="right">
! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/
news/block.phtml"/>
! ! </reference>
! ! -->
! </default>
! <snews_index_index>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/items" name="snews.news" template="scalena/news/
news.phtml">
!               <block type="snews/pagination" name="snews.pagination" as="pagination"
template="scalena/news/pagination.phtml"/>
             </block>
        </reference>
    </snews_index_index>
    <snews_index_view>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/item" name="snews.detail" template="scalena/news/news-
detail.phtml" />
        </reference>
    </snews_index_view>
</layout>
action

• block
• block
 •
• <action method=”foo”>   </
  action>
<?xml version="1.0"?>
<layout version="0.1.0">
! <default>
! ! <!--
! ! <reference name="right">
! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/
news/block.phtml"/>
! ! </reference>
! ! -->
! </default>
! <snews_index_index>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/items" name="snews.news" template="scalena/news/
news.phtml">
!               <block type="snews/pagination" name="snews.pagination" as="pagination"
template="scalena/news/pagination.phtml"/>
             </block>
        </reference>
    </snews_index_index>
    <snews_index_view>
        <reference name="root">
             <action method="setTemplate"><template>page/2columns-right.phtml</
template></action>
        </reference>
        <reference name="content">
             <block type="snews/item" name="snews.detail" template="scalena/news/news-
detail.phtml" />
        </reference>
    </snews_index_view>
</layout>
remove

•
• <remove name=”foo”/>
•
• if      endif;

• foreach        endforeach;

• $this->hogehoge
•                  PHP
-Scalena News-
<?php $collection = $this->getItems(3); ?>
<?php if ( count($collection) == 0 ) : ?>
	

  <p><?php echo $this->__('No news yet...'); ?></p>
<?php else : ?>
	

  <dl>
	

  <?php foreach ( $collection as $_item ) : ?>
	

  	

  <dt><a href="<?php echo Mage::helper('snews')->getUrl($_item['identifier']); ?>"><?php
echo $_item['title']; ?></a></dt>
	

  	

  <dd><?php echo $_item['date']; ?></dd>
	

  	

  <dd>
	

  	

  <?php if ( Mage::helper('snews')->getListLimitDescription() == 0 || strlen($_item
['description']) < Mage::helper('snews')->getListLimitDescription() ) : ?>
	

  	

  	

   <?php echo $_item['description']; ?>
	

  	

  <?php else : ?>
	

  	

  	

   <?php echo substr($_item['description'], 0, Mage::helper('snews')-
>getListLimitDescription()); ?>...
	

  	

  <?php endif; ?>	

	

  	

  </dd>
	

  	

  <dd><a href="<?php echo Mage::helper('snews')->getUrl($_item['identifier']); ?>"><?php
echo $this->__('Learn more...'); ?></a></dd>
	

  <?php endforeach; ?>
	

  </dl>	

<?php endif; ?>
Block
Block
•    XML       block



•          .phtml

•    XML       public



•    XML
Block
<block type="foo/foo" name="foo.foo">

    <block type="foo/bar" name="foo.bar" as="bar"/>




</block>
• $this->getChildHtml(‘foo’);
•
•   Mage_Core_Model_Layout
    createBlock



•   core            grep

•                 XML
• CMS        XML



•
• Free_CMS
• 1.3
  {{block type=”cms/block” block_id=”hoge”
  template=”cms/content.phtml”}}
• 1.4
  {{widget type="cms/widget_block"
  template="cms/widget/static_block/
  default.phtml" block_id="5"}}
• <block type=”cms/block”
  name=”hoge” (before|after)=”foo”>
    <action method=”setBlockId”>
       hoge
    </action>
  </block>
•   HTML

•   JS   CSS

•
•
          OK

•

•   CSS        JS
CSS/JS
XML

• page.xml     head

•   <action method="addJs"><script>mage/
    cookies.js</script></action>

•   <action method="addCss"><stylesheet>css/
    styles.css</stylesheet></action>
IE

• <action
    method="addItem"><type>skin_css</
    type><name>css/styles-ie.css</
    name><params/><if>lt IE 7</if></action>


•            IE
•
    default

•                   OK

•             XML
CSS

•

• CSS
• default, blank, modern

• classic, absolute

•
•   Block



•
Ajax

•

• HTML     Ajax
Magento20100807

Contenu connexe

Tendances

E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
NAVER D2
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages Suck
Anthony Montalbano
 
https://www.facebook.com/valdyna.monna?fref=ts
https://www.facebook.com/valdyna.monna?fref=tshttps://www.facebook.com/valdyna.monna?fref=ts
https://www.facebook.com/valdyna.monna?fref=ts
Arif Alexi
 

Tendances (19)

Profit statement 00
Profit statement 00Profit statement 00
Profit statement 00
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
 
날로 먹는 Django admin 활용
날로 먹는 Django admin 활용날로 먹는 Django admin 활용
날로 먹는 Django admin 활용
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
The Benefits of Juicing
The Benefits of JuicingThe Benefits of Juicing
The Benefits of Juicing
 
قالب المواضيع
قالب المواضيعقالب المواضيع
قالب المواضيع
 
Your Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages SuckYour Custom WordPress Admin Pages Suck
Your Custom WordPress Admin Pages Suck
 
Ubi comp27nov04
Ubi comp27nov04Ubi comp27nov04
Ubi comp27nov04
 
Bootstrap 3 Cheat Sheet PDF Reference
Bootstrap 3 Cheat Sheet PDF ReferenceBootstrap 3 Cheat Sheet PDF Reference
Bootstrap 3 Cheat Sheet PDF Reference
 
Links/Деловой и денежный мир
Links/Деловой и денежный мирLinks/Деловой и денежный мир
Links/Деловой и денежный мир
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
How to Think Inside the Box: Programming Fixed Layout for E-Books
How to Think Inside the Box: Programming Fixed Layout for E-BooksHow to Think Inside the Box: Programming Fixed Layout for E-Books
How to Think Inside the Box: Programming Fixed Layout for E-Books
 
https://www.facebook.com/valdyna.monna?fref=ts
https://www.facebook.com/valdyna.monna?fref=tshttps://www.facebook.com/valdyna.monna?fref=ts
https://www.facebook.com/valdyna.monna?fref=ts
 
Front-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМFront-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМ
 
20110820 header new style
20110820 header new style20110820 header new style
20110820 header new style
 
What is HTML5?
What is HTML5?What is HTML5?
What is HTML5?
 
Polymer 1.0
Polymer 1.0Polymer 1.0
Polymer 1.0
 
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
 

Similaire à Magento20100807

jQtouch, Building Awesome Webapps
jQtouch, Building Awesome WebappsjQtouch, Building Awesome Webapps
jQtouch, Building Awesome Webapps
Home
 
Fronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-templateFronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-template
Inventis Web Architects
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)
Joao Lucas Santana
 
HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2
James Pearce
 

Similaire à Magento20100807 (20)

Toutch Jquery Mobile
Toutch Jquery MobileToutch Jquery Mobile
Toutch Jquery Mobile
 
Resource Registries: Plone Conference 2014
Resource Registries: Plone Conference 2014Resource Registries: Plone Conference 2014
Resource Registries: Plone Conference 2014
 
jQtouch, Building Awesome Webapps
jQtouch, Building Awesome WebappsjQtouch, Building Awesome Webapps
jQtouch, Building Awesome Webapps
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Resource registries plone conf 2014
Resource registries plone conf 2014Resource registries plone conf 2014
Resource registries plone conf 2014
 
Fronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-templateFronttechnieken met HTML5 en de Slice-template
Fronttechnieken met HTML5 en de Slice-template
 
Xxx
XxxXxx
Xxx
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)
 
Html5 Brown Bag
Html5 Brown BagHtml5 Brown Bag
Html5 Brown Bag
 
iWebkit
iWebkitiWebkit
iWebkit
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
HTML5
HTML5HTML5
HTML5
 
HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2
 

Plus de Hirokazu Nishi

Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Hirokazu Nishi
 
最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ
Hirokazu Nishi
 
加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜
Hirokazu Nishi
 

Plus de Hirokazu Nishi (20)

Magento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極めるMagento Meetup Tokyo 14 〜メンテナンス画面を極める
Magento Meetup Tokyo 14 〜メンテナンス画面を極める
 
JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料JP_Stripes Vol3 発表資料
JP_Stripes Vol3 発表資料
 
20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento20170626 さくらインターネット Stripe Magento
20170626 さくらインターネット Stripe Magento
 
How to implement payment gateway integration for non-credit card on Magento2
How to implement payment gateway integration for non-credit card on Magento2How to implement payment gateway integration for non-credit card on Magento2
How to implement payment gateway integration for non-credit card on Magento2
 
Magento cafe plus #12
Magento cafe plus #12Magento cafe plus #12
Magento cafe plus #12
 
第9回 Magento Cafe Plus
第9回 Magento Cafe Plus第9回 Magento Cafe Plus
第9回 Magento Cafe Plus
 
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
 
第8回 Magento cafe plus
第8回 Magento cafe plus第8回 Magento cafe plus
第8回 Magento cafe plus
 
第7回 Magento Cafe Plus
第7回 Magento Cafe Plus第7回 Magento Cafe Plus
第7回 Magento Cafe Plus
 
Magento Cafe Plus #6
Magento Cafe Plus #6Magento Cafe Plus #6
Magento Cafe Plus #6
 
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル
 
第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagento第4回Magento Cafe Plus〜最近のMagento
第4回Magento Cafe Plus〜最近のMagento
 
第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門第3回 Magento Cafe Plus モジュール開発入門
第3回 Magento Cafe Plus モジュール開発入門
 
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
第2回 Magento cafe plus 〜新・Magentoカスタマイズ入門
 
Akeneo PIM Overview
Akeneo PIM OverviewAkeneo PIM Overview
Akeneo PIM Overview
 
Magento2 Overview
Magento2 OverviewMagento2 Overview
Magento2 Overview
 
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方Magento cafe tokyo2~デザイナー向けMagentoの歩き方
Magento cafe tokyo2~デザイナー向けMagentoの歩き方
 
最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ最新・Magentoを日本語で使うイロハ
最新・Magentoを日本語で使うイロハ
 
加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜加速していくMagento 〜MDP2011参加レポート〜
加速していくMagento 〜MDP2011参加レポート〜
 
Magento20100709
Magento20100709Magento20100709
Magento20100709
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Magento20100807

  • 1. Magento 2010/08/07 Magento-JP User Group
  • 4. • Development by Magento.Inc(LA) • PHP5.2.x only • MySQL4.1.20 or later with InnoDB • Academic Free Lisence v3.0 • ECommerce!
  • 6. Trends of EC Platform  magento    ec-cube    zencart 
  • 7. Trends of EC Platform magento-beta  magento    ec-cube    zencart 
  • 8. Trends of EC Platform magento-1.0 magento-beta  magento    ec-cube    zencart 
  • 9. Trends of EC Platform magento-1.3 magento-1.0 magento-beta  magento    ec-cube    zencart 
  • 10. Trends of EC Platform magento-CE-1.4 magento-1.3 magento-1.0 magento-beta  magento    ec-cube    zencart 
  • 13. app code core community local design frontend adminhtml etc locale lib js javascript skin frontend adminhtml
  • 14.
  • 15. design frontend default default layout XML locale template foo bar
  • 16.
  • 17.
  • 18.
  • 20. XML • •
  • 21. XML
  • 22. XML • XML • • • XML
  • 24. <?xml version="1.0"?> <layout version="0.1.0"> ! <default> ! ! <!-- ! ! <reference name="right"> ! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/ news/block.phtml"/> ! ! </reference> ! ! --> ! </default> ! <snews_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/items" name="snews.news" template="scalena/news/ news.phtml"> ! <block type="snews/pagination" name="snews.pagination" as="pagination" template="scalena/news/pagination.phtml"/> </block> </reference> </snews_index_index> <snews_index_view> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/item" name="snews.detail" template="scalena/news/news- detail.phtml" /> </reference> </snews_index_view> </layout>
  • 25. block • reference • action • remove
  • 26. block • • • <block type=”foo” name=”foo” template=”foo.phtml” />
  • 27. <?xml version="1.0"?> <layout version="0.1.0"> ! <default> ! ! <!-- ! ! <reference name="right"> ! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/ news/block.phtml"/> ! ! </reference> ! ! --> ! </default> ! <snews_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/items" name="snews.news" template="scalena/news/ news.phtml"> ! <block type="snews/pagination" name="snews.pagination" as="pagination" template="scalena/news/pagination.phtml"/> </block> </reference> </snews_index_index> <snews_index_view> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/item" name="snews.detail" template="scalena/news/news- detail.phtml" /> </reference> </snews_index_view> </layout>
  • 28. reference • name=”foo” • <reference name=”foo”>
  • 29. <?xml version="1.0"?> <layout version="0.1.0"> ! <default> ! ! <!-- ! ! <reference name="right"> ! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/ news/block.phtml"/> ! ! </reference> ! ! --> ! </default> ! <snews_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/items" name="snews.news" template="scalena/news/ news.phtml"> ! <block type="snews/pagination" name="snews.pagination" as="pagination" template="scalena/news/pagination.phtml"/> </block> </reference> </snews_index_index> <snews_index_view> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/item" name="snews.detail" template="scalena/news/news- detail.phtml" /> </reference> </snews_index_view> </layout>
  • 30. action • block • block • • <action method=”foo”> </ action>
  • 31. <?xml version="1.0"?> <layout version="0.1.0"> ! <default> ! ! <!-- ! ! <reference name="right"> ! ! ! <block type="snews/block" name="snews.block" as="newsBlock" template="scalena/ news/block.phtml"/> ! ! </reference> ! ! --> ! </default> ! <snews_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/items" name="snews.news" template="scalena/news/ news.phtml"> ! <block type="snews/pagination" name="snews.pagination" as="pagination" template="scalena/news/pagination.phtml"/> </block> </reference> </snews_index_index> <snews_index_view> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</ template></action> </reference> <reference name="content"> <block type="snews/item" name="snews.detail" template="scalena/news/news- detail.phtml" /> </reference> </snews_index_view> </layout>
  • 33.
  • 34. • if endif; • foreach endforeach; • $this->hogehoge • PHP
  • 36. <?php $collection = $this->getItems(3); ?> <?php if ( count($collection) == 0 ) : ?> <p><?php echo $this->__('No news yet...'); ?></p> <?php else : ?> <dl> <?php foreach ( $collection as $_item ) : ?> <dt><a href="<?php echo Mage::helper('snews')->getUrl($_item['identifier']); ?>"><?php echo $_item['title']; ?></a></dt> <dd><?php echo $_item['date']; ?></dd> <dd> <?php if ( Mage::helper('snews')->getListLimitDescription() == 0 || strlen($_item ['description']) < Mage::helper('snews')->getListLimitDescription() ) : ?> <?php echo $_item['description']; ?> <?php else : ?> <?php echo substr($_item['description'], 0, Mage::helper('snews')- >getListLimitDescription()); ?>... <?php endif; ?> </dd> <dd><a href="<?php echo Mage::helper('snews')->getUrl($_item['identifier']); ?>"><?php echo $this->__('Learn more...'); ?></a></dd> <?php endforeach; ?> </dl> <?php endif; ?>
  • 37. Block
  • 38. Block • XML block • .phtml • XML public • XML
  • 39. Block <block type="foo/foo" name="foo.foo"> <block type="foo/bar" name="foo.bar" as="bar"/> </block>
  • 41. Mage_Core_Model_Layout createBlock • core grep • XML
  • 42. • CMS XML • • Free_CMS
  • 43. • 1.3 {{block type=”cms/block” block_id=”hoge” template=”cms/content.phtml”}} • 1.4 {{widget type="cms/widget_block" template="cms/widget/static_block/ default.phtml" block_id="5"}}
  • 44. • <block type=”cms/block” name=”hoge” (before|after)=”foo”> <action method=”setBlockId”> hoge </action> </block>
  • 45.
  • 46. HTML • JS CSS •
  • 47. OK • • CSS JS
  • 49. XML • page.xml head • <action method="addJs"><script>mage/ cookies.js</script></action> • <action method="addCss"><stylesheet>css/ styles.css</stylesheet></action>
  • 50. IE • <action method="addItem"><type>skin_css</ type><name>css/styles-ie.css</ name><params/><if>lt IE 7</if></action> • IE
  • 51.
  • 52. default • OK • XML
  • 54. • default, blank, modern • classic, absolute •
  • 55.
  • 56. Block •