четверг, 17 сентября 2015 г.

Разработка Magento Собственный модуль 2


Структура модуля Magento:
Код Бассейны
Magento содержит три типа кода бассейнов, где все пользовательские и основные модули Magento являются проживает.

Основные бассейны содержат все основные модули, которые по умолчанию поставляется с установки Magento. Эти модули написаны разработчиками Magento. Рекомендуется не изменять эти модули, потому что всякий раз, когда вы будете обновить установку Magento, все основные модули будут перезаписаны и ваши изменения будут потеряны.
Сообщество бассейны содержат все модули - то есть, пользовательские модули - которые были разработаны сторонними программистами быть установлен через Magento Connect. Эти модули, как правило расширить основные модули и предлагают свои собственные функциональные возможности, которые часто могут быть использованы в любом месте в Magento.
Местные бассейны содержат всю пользовательский модуль, которые будет использоваться для конкретного проекта, но не readled в Magento Connect

Таким образом, у нас есть два выбора: бассейны или местном. Так как мы работаем на нашем собственном проекте, мы собираемся использовать локальный бассейн, хотя нет никаких ограничений на использование пул сообщества, либо.
заказать сайт
структура

Magento модули состоят из следующих компонентов:

Блоки содержат функции, которые используются для отображения данных в шаблонах.
Модели содержат бизнес-логику модулей.
Модели ресурс содержит функции, которые используются для взаимодействия с базой данных.
Контроллеры определяет макет страницы и блоки файлов и загружаются когда URL запрашивается.
и т.д. содержит конфигурационные файлы в форматах XML, который говорит Magento, сколько файлов модули имеют и как модуль взаимодействует.
Помощники содержат функции, которые используются для определения общего бизнес-логики (например, изменение размера изображения, проверки). Эти функции могут использоваться в любой точке земного применения Magento
SQL содержит сценарии SQL для создания, изменения или удаления таблиц SQL.

Модуль Нейминг:
Мы должны дать имя нашего модуля. Как правило, имена Magento модуль изготовлены из двух частей: <имен> _ <Модуль>. Лучше всего, чтобы дать модуль Magento имя, это выбрать <пространства имен> в качестве автора или название компании и <модуля> в качестве фактического имени модуля.

На основании этих именования, я даю наш модуль и название Chiragdodia_Mymodule. Мы будем обращаться это имя в этой серии.

Код Настройка и конфигурация
заказать сайт

  Позволяет создать базу каталогов на выше структуры. Перейдите на Magento направлении установки перейдите к приложение / код / местные и создать каталоги, как показано ниже.

Далее, мы настроим и активировать наш модуль, создавая конфигурационный файл Chiragdodia_Mymodule.xml в приложение / и т.д. / каталоге модулей. Этот каталог содержит файлы конфигурации для всех модулей.

<?xml version="1.0"?>
<config>
    <modules>
        <Chiragdodia_Mymodule>
        <active>true</active>
        <codePool>local</codePool>
        </Chiragdodia_Mymodule>
    </modules>
</config>
Этот файл будет сказать Magento о местонахождении нашего модуля. В активном тега, мы указали верно для того, чтобы наш модуль. Если все правильно до сих пор, то вы найдете свой модуль в Magento Админ Панель управления> Система> Конфигурация> Дополнительно> Дополнительно> Отключить модули вывода списка. Отсюда вы можете включить и отключить модуль.

заказать сайт
Приступая: Разработка

Далее мы создадим наш файл конфигурации модуля. Этот файл будет сказать Magento все о нашем модуле. Это включает в себя, сколько файлов наш модуль содержит, какие типы файлов (модели помощники, классы баз данных), и так далее.

Перейти к приложению / код / местные / Chiragdodia / MyModule / и т.д., и создать файл config.xml, который будет содержать следующее содержание

<?xml version="1.0"?>
<config>
    <modules>
        <Chiragdodia_Mymodule>
            <version>0.1.0</version>    <!-- Version number of your module -->
        </Chiragdodia_Mymodule>
    </modules>
    <frontend>
        <routers>
            <mymodule>
                <use>standard</use>
                <args>
                    <module>Chiragdodia_Mymodule</module>
                    <frontName>mymodule</frontName>
                </args>
            </mymodule>
        </routers>
    </frontend>
</config>

Давайте рассмотрим построчно, чтобы понять каждую метку. Вот, первый тег <модуль>, который содержит имя и версию нашего модуля. Номер версии очень важно, когда дело доходит до обновления ваш модуль обновить модуль. Элемент <интерфейс> тэг будет сказать Magento о контроллере отправляются. Внутри <фронтэнд> тега, мы определили <маршрутизаторы>, что говорит Magento, как получить доступ к нашим контроллеры с помощью механизма маршрутизации. В <MyModule> тега, мы определили имя модуля <модуля> и фронтэнд имени в <frontName>. При использовании внешнего интерфейса имя, мы можем получить доступ к нашим модуль в веб-интерфейсе, как yoursitename.com/index.php/mymodule/index~~pobj. Позвонив yoursitename.com/index.php/mymodule~~HEAD=dobj или yoursitename.com/index.php/mymodule/index~~HEAD=dobj Magento будет искать индекс действия файла контроллера вашего модуля. Таким образом, мы должны создать наш файл контроллера. Перейти к приложению / код / ​​местные / Chiragdodia / MyModule / контроллеры и создать файл с IndexController.php следующего содержания. Обратите внимание, что имена имя и класс каждого файла чувствительны к регистру в Magento Это очень важно, что вы заботитесь именования свою работу при создании файлов и классов.

<?php
class Chiragdodia_Mymodule_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        echo "Hello tuts+ World";
    }
}

Теперь откройте URL yoursite.com/index.php/mymodule/index~~V он будет печатать "Hello Tuts + Мир". Высокий - мы, наконец, сделали с нашей первой привет мир модуля. Контроллер Отправка Здесь мы имеем расширить класс Mage_Core_Controller_Front_Action, который содержит все методы, которые используют в маршрутизации URL. Имя класса Magento отражает расположение файла класса. Таким образом, класс Mage_Core_Controller_Front_Action проживает в месте Маг> Основные> Контроллер> Передняя> action.php См имя класса нашего контроллера, который Chiragdodia_Mymodule_IndexController. Контроллер Magento будет назван таким образом, что она отражает (<модуль> тег) _ (Действие Controllername) (Контроллер ключевое слово). <Модуль> тег = Chiragdodia_Mymodule (мы определили этот тег в config.xml) Действие Controllername = индекс Контроллер Действие следует ключевое слово Controller На основании этой модели, название нашего контроллера Chiragdodia_Mymodule_IndexController Теперь посмотрим URL шаблон, который выполните следующие схему маршрутизации yoursite.com/index.php/frontendname/actionControllername/actionmethod frontendname = MyModule actionControllername = индекс actionmethodname = индекс

Основываясь на этом URL рисунка, URL наш модуль является yoursite.com/index.php/mymodule/index/index. Вы также можете получить доступ к его с помощью yoursite.com/index.php/mymodule~~dobj потому что, когда вы не указали ActionController или actionmethod имя, Magento загружает контроллер и индекс действие по умолчанию. Теперь давайте создадим еще одно действие: testAction.


<?php
class Chiragdodia_Mymodule_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        echo "Hello tuts+ World";
    }
    public function testAction()
    {
        echo "test action";
    }
}


Мы можем получить доступ к testAction помощью URL yoursite.com/index.php/mymodule/index/test~~dobj. Как пояснил ранее здесь frontendname = MyModule actionControllername = индекс actionmethodname = тест Это, как контроллер работает в Magento. Во-первых, это может быть трудно понять все сразу, так что я включен весь исходный код к данному модулю, так что вы можете рассмотреть его и реализовать свою собственную работу, используя его в качестве руководства. Что дальше? В следующей части, мы собираемся, чтобы заполнить в некоторых макетов в нашем модуле, создав макет и блокирования файлов. Мы понимаем, как макеты файлы в Magento работает и какую роль играют блоки в рамках Magento. До тех пор пока создать свой собственный модуль и дайте мне знать, о чем, что вызывает вам неприятности.
заказать сайт

Комментариев нет:

Отправить комментарий

Поиск по этому блогу