OpenCart 전문가가되는 방법? [닫은]


98

공식 포럼에서 일부 API 호출을 제외하고는 문서가없는 것 같습니다. Zend 프레임 워크와 CodeIgniter 프레임 워크에 대한 경험이 있습니다. OpenCart 마스터가 가장 짧은 시간에 학습하고 마스터 할 수있는 가장 좋은 방법을 추천 할 수 있습니까? 곧 큰 프로젝트를해야합니다.


docs.opencart.comQphoria프레임 워크 개요를 참조하십시오 . 또한 OpenCart 포럼> 지원 에서 스레드를 찾아보십시오 . 앞으로는 area51.stackexchange.com/proposals/77558/opencart에
Pacerier

이것은 언젠가 SO 표준을 극복, 정말 중요한 질문입니다 정말 도움이 ...
KAD

1
감사합니다이 질문에 대한 많은, 그것은 나에게 많은 도움이
Bipul 로이

트윗 담아 가기 이제 인기있는 질문 인 것 같습니다!
CodeCrack

답변:


311

초보자를위한 OpenCart 1.5.X 개발자 빠른 시작 가이드

이 가이드는 PHP, OOP 및 MVC 아키텍처에 이미 익숙한 개발자를 위해 작성되었습니다.

다음에서 카트의 카탈로그쪽에 대한 예를 볼 수 있습니다. 관리자 측은 관련 섹션에 언급 된보기를 제외하고 기능면에서 동일합니다.


라이브러리 이해

모든 라이브러리 기능은를 사용하여 컨트롤러, 모델 및보기를 통해 액세스 할 수 있습니다 $this->library_name. 이들 모두는 /system/library/폴더 에서 찾을 수 있습니다 . 예를 들어, 현재 쇼핑 카트의 제품에 액세스하려면 사용해야합니다 Cart에 클래스를 /system/library/cart.php하고 사용하여 액세스 할 수 있습니다$this->cart->getProducts()

일반적으로 사용되는 항목

  • customer.php -고객 관련 기능
  • user.php -관리자 관련 기능
  • cart.php -카트 관련 기능
  • config.php -모든 설정이 여기에서로드됩니다.
  • url.php -URL 생성 기능

경로 매개 변수 이해

OpenCart의 프레임 워크 route=aaa/bbb/ccc는 쿼리 문자열 매개 변수를 사용하여로드 할 항목을 파악하고 각 페이지에 대해 편집해야하는 파일을 찾는 데 기반이되는 기능입니다. 대부분의 경로는 실제로 aaa/bbb두 부분으로 표시되어야 하는를 사용 하지만 일부는 세 부분을 포함합니다 aaa/bbb/ccc. 첫 번째 부분은 aaa일반적으로 컨트롤러 또는 템플릿 폴더와 같은 일반 폴더 내의 폴더와 관련이 있습니다. 두 번째 부분은 일반적으로 관련 .php또는 .tpl확장자 없이 파일 이름과 관련 됩니다. 세 번째 부분은 아래 "컨트롤러 이해"섹션에서 설명합니다.


언어 이해

언어는 하위 /catalog/language/폴더의 폴더에 저장됩니다 your-language. 여기에서 다양한 페이지에서 사용되는 일반 텍스트 값 your-language.php은 폴더 내부의 파일에 저장 되므로 카탈로그 쪽 영어의 경우에서 값을 찾을 수 catalog/language/english/english.php있습니다. 특정 페이지 텍스트의 경우 페이지에 대한이 필요합니다 route(일반적인 경우이지만 원하는 언어 파일을 지정할 수 있기 때문에 항상 그런 것은 아닙니다 ). 예를 들어 검색 페이지에는 경로가 product/search있으므로 해당 페이지의 언어 별 텍스트는 catalog/language/english/product/search.php(파일 이름 및 하위 폴더가 경로 다음에 오는 경로와 일치합니다 .php.

컨트롤러에서 언어를로드하려면 다음을 사용합니다.

$this->language->load('product/search');

그런 다음 언어 라이브러리 기능 get을 사용하여 다음 과 같은 특정 언어 텍스트를 검색 할 수 있습니다.

$some_variable = $this->language->get('heading_title');

언어 변수는 $_키 및 텍스트 값의 배열 인 특수 변수 를 사용하여 언어 파일에 할당 됩니다. 당신의에서 /catalog/language/english/product/search.php다음과 유사한 무언가를 찾아야한다

$_['heading_title']     = 'Search';

전역 언어 파일의 값 english/english.php이 자동으로로드되고 $this->language->load메서드 없이 사용할 수 있습니다.


컨트롤러 이해

컨트롤러는를 기반으로로드 route되며 이해하기 매우 간단합니다. 컨트롤러는 /catalog/controller/폴더에 있습니다. 마지막 예에서 계속해서 검색 용 컨트롤러 페이지 /product/search.php가이 폴더에 있습니다. 뒤에 오는 경로 .php가 사용됩니다.

컨트롤러 파일을 열면 클래스를 확장하는 Pascal Case 클래스 이름 ControllerControllerProductSearch. 이것은 다시 경로 Controller에 따라 다르며 확장명을 대문자로하지 않고 하위 폴더 이름과 파일 이름 이 뒤 따릅니다. 대소 문자는 실제로 필요하지 않지만 쉽게 읽을 수 있도록 권장됩니다. 클래스 이름은 문자와 숫자가 아닌 하위 폴더 및 파일 이름의 값을 취하지 않습니다. 밑줄이 제거됩니다.

클래스 내에는 메서드가 있습니다. 선언 된 클래스의 메서드 public는 경로를 통해 액세스 할 수 있습니다 private. 기본적으로 표준 두 부분 경로 ( aaa/bbb위)를 사용하면 기본 index()메서드가 호출됩니다. 경로의 세 번째 부분 ( ccc위)이 사용되는 경우이 메서드가 대신 실행됩니다. 예를 들어 파일과 클래스를 account/return/insert로드 /catalog/controller/account/return.php하고 insert메서드 를 호출하려고합니다.


모델 이해

OpenCart의 모델은 /catalog/model/폴더에 있으며 경로가 아닌 기능에 따라 그룹화되어 있으므로 다음을 통해 컨트롤러에로드해야합니다.

$this->load->model('xxx/yyy');

그러면 xxx라는 하위 폴더에 파일이로드됩니다 yyy.php. 그런 다음 개체를 통해 사용할 수 있습니다.

$this->model_xxx_yyy

컨트롤러와 마찬가지로 public메서드 만 호출 할 수 있습니다 . 예를 들어 이미지 크기를 조정하려면 tool/image모델을 사용하고 resize다음과 같이 해당 메서드를 호출 합니다.

$this->load->model('tool/image');
$this->model_tool_image->resize('image.png', 300, 200);

컨트롤러에서보기의 변수 할당 이해

컨트롤러에서 뷰로 값을 전달하려면 $this->data기본적으로 키 => 값 쌍의 배열 인 변수에 데이터를 할당하기 만하면 됩니다. 예로서

$this->data['example_var'] = 123;

뷰에서 액세스하는 것은 각 키를 변수로 변환 하는 extract () 메소드에 익숙하다면 이해하기 쉽습니다 . 따라서 example_var키는 $example_var뷰에서 그대로 액세스 할 수 있습니다.


테마 이해

테마는 카탈로그 측에서만 사용할 수 있으며 기본적으로 템플릿, 스타일 시트 및 테마 이미지의 폴더입니다. 테마 폴더는 /catalog/view/theme/테마 이름이 뒤에 오는 폴더에 배치됩니다 . 폴더 이름을 제외하고는 중요하지 않다 default폴더

관리자 측에서 사용합니다 /admin/view/template/( /theme/theme-name/다른 테마를 허용하지 않으므로 경로에서 건너 뛰기 ).

템플릿 파일 template은 테마 폴더 내의 폴더에 있습니다. 현재 선택한 테마에 사용할 수없는 템플릿이있는 경우 기본 폴더의 템플릿이 대신 사용됩니다. 즉, 아주 적은 수의 파일로 테마를 만들 수 있으며 여전히 완벽하게 작동합니다. 또한 업그레이드 할 때 코드 중복 및 문제를 줄입니다.


보기 (템플릿) 이해

언어 및 모델과 마찬가지로보기 파일은 일반적으로 경로와 관련이 있지만 반드시 그럴 필요는 없습니다. 카탈로그 측의 템플릿은 일반적으로 /catalog/view/theme/your-theme/template/존재하지 않는 한 에서 발견되며 ,이 경우 기본 테마의 템플릿이 사용됩니다. 위의 검색 페이지 예에서 파일은 product/search.tpl. 세 부분으로 구성된 경로의 경우 일반적으로 aaa/bbb_ccc.tpl엄격한 규칙이 없습니다. 관리자에서는 제품 목록 페이지와 같은 항목을 나열하는 페이지가에 catalog/product_list.tpl있고 제품 ​​편집 양식이에 있는 경우를 제외하고 대부분의 페이지가이를 따릅니다 catalog/product_form.tpl. 다시 말하지만, 이것들은 설정되지 않았지만 기본 카트의 표준입니다.

템플릿 파일은 사실 다른 php 파일이지만 .tpl 확장자를 가지고 실제로 컨트롤러 파일에서 실행되므로 컨트롤러에서 코딩 할 수있는 모든 항목을 템플릿 파일에서 실행할 수 있습니다. 필요한)


데이터베이스 개체 이해

쿼리는 다음을 사용하여 실행됩니다.

$result = $this->db->query("SELECT * FROM `" . DB_PREFIX . "table`");

DB_PREFIX 이름에서 알 수 있듯이 데이터베이스 접두사가있는 경우이를 포함하는 상수입니다.

$resultSELECT몇 가지 속성을 포함하는 쿼리에 대한 개체를 반환 합니다.

$result->row 하나 이상의 연관 배열로 반환되는 경우 첫 번째 행의 데이터를 포함합니다.

$result->rows foreach를 사용하여 반복하는 데 이상적인 행 결과 배열을 포함합니다.

$result->num_rows 반환 된 결과 수를 포함합니다.

$this->db개체에 몇 가지 추가 메서드 가 있습니다.

$this->db->escape()전달 된 값에 mysql_real_escape_string () 사용

$this->db->countAffectedUPDATE쿼리의 영향을받는 행 수를 반환합니다 .

$this->db->getLastId()mysql_insert_id ()를 사용하여 마지막 자동 증분 ID를 반환합니다.


예약 된 변수 이해

OpenCart 표준 대신 사용할 변수를 미리 정의 된 $_GET, $_POST, $_SESSION, $_COOKIE, $_FILES, $_REQUEST$_SERVER

$_SESSION$this->session->data데이터를 모방 한 연관 배열을 사용하여 편집 합니다.$_SESSION

다른 모든 항목은을 사용하여 액세스 할 수 있으며 $this->request마법 따옴표를 사용 / 사용하지 않도록 "정리"되었습니다.

$_GET 된다 $this->request->get

$_POST 된다 $this->request->post

$_COOKIE 된다 $this->request->cookie

$_FILES 된다 $this->request->files

$_REQUEST 된다 $this->request->request

$_SERVER 된다 $this->request->server


요약

위의 내용은 개발자를위한 방탄 가이드는 아니지만 시작하는 사람들에게 좋은 출발점이되기를 바랍니다.


3
감사! 이거 어디서 났어?
CodeCrack

64
내가 썼어. 나는 그것이 쓰고 필요한 생각과 queston에 맞게
제이 길 포드에게

2
아주 좋아. 대부분의 가이드보다 더 많은 정보를 제공합니다. 혹시 전진이 있습니까?
CodeCrack

3
이 주어져야한다 커뮤니티 위키 상태
Stann0rz

1
@UltimateKing-이 가이드는 자신 만의 모드 제작을 시작하기에 충분한 정보를 이미 제공하고 있습니다. 넷상의 모듈 개발에 관한 튜토리얼도 있습니다
Jay Gilford

36

글로벌 라이브러리 방법 : 기본 opencart 라이브러리 기능과 기능, 대부분 카탈로그 또는 관리 폴더 (컨트롤러, 모델,보기)의 어느 곳에서나 호출 할 수 있습니다.

CACHE
$this->cache->delete($key) - Deletes cache [product, category, country, zone, language, currency,
manufacturer]

CART
$this->cart->getProducts() Gets all products currently in the cart including options, discounted prices, etc.
$this->cart->add( $product_id, $qty = 1, $options = array()) - Allows you to add a product to the cart
$this->cart->remove( $key ) - Allows you to remove a product from the cart
$this->cart->clear() - Allows you to remove all products from the cart
$this->cart->getWeight() - Sum of the weight of all products in the cart that have require shipping set to Yes
$this->cart->getSubTotal() - returns the subtotal of all products added together before tax
$this->cart->getTotal() - returns the total of all products added together after tax
$this->cart->countProducts() - returns the count of all product in the cart
$this->cart->hasProducts() - returns true if there is at least one item in the cart
$this->cart->hasStock() - returns false if there is at least one item in the cart that is out of stock
$this->cart->hasShipping() - returns true if there is at least one item in the cart that requires shipping
$this->cart->hasDownload() - returns true if there is at least one item in the cart that has a download
associated

CONFIG
$this->config->get($key) - returns setting value by keyname based on application (catalog or admin)
$this->config->set($key, $value) - set the value to override the setting value. DOES NOT SAVE TO DATABASE

CURRENCY
$this->currency->set($currency) - set or override the currency code to be used in the session
$this->currency->format($number, $currency = '', $value = '', $format = TRUE) - format the currency
$this->currency->convert($value, $from, $to) - convert a value from one currency to another. Currencies must
exist
$this->currency->getId() - get the database entry id for the current currency (1, 2, 3, 4)
$this->currency->getCode() - get the 3-letter iso code for the current currency (USD, EUR, GBP, AUD, etc)
$this->currency->getValue($currency) - get the current exchange rate from the database for the specified
currency.
$this->currency->has(currency) - Check if a currency exists in the opencart currency list

CUSTOMER
$this->customer->login($email, $password) - Log a customer in
$this->customer->logout() - Log a customer out
$this->customer->isLogged() - check if customer is logged in
$this->customer->getId() - get the database entry id for the current customer (integer)
$this->customer->getFirstName() - get customer first name
$this->customer->getLastName() - get customer last name
$this->customer->getEmail() - get customer email
$this->customer->getTelephone() - get customer telephone number
$this->customer->getFax() - get customer fax number
$this->customer->getNewsletter() - get customer newsletter status
$this->customer->getCustomerGroupId() - get customer group id
$this->customer->getAddressId() - get customer default address id (maps to the address database field)

DATABASE
$this->db->query($sql) - Execute the specified sql statement. Returns row data and rowcount.
$this->db->escape($value) - Escape/clean data before entering it into database
$this->db->countAffected($sql) - Returns count of affected rows from most recent query execution
$this->db->getLastId($sql) - Returns last auto-increment id from more recent query execution 4

DOCUMENT (*Called from controller only before renderer)
$this->document->setTitle($title) - Set page title
$this->document->getTitle()- Get page title
$this->document->setDescription($description) - Set meta description
$this->document->getDescription()- Get meta description
$this->document->setKeywords()- Set meta keywords
$this->document->getKeywords()- Get meta keywords
$this->document->setBase($base) - Set page base
$this->document->getBase() - Get page base
$this->document->setCharset($charset) - Set page charset
$this->document->getCharset() - Get page charset
$this->document->setLanguage($language) - Set page language
$this->document->getLanguage()- Get page language
$this->document->setDirection($direction) - Set page direction (rtl/ltr)
$this->document->getDirection()- Get page direction (rtl/ltr)
$this->document->addLink( $href, $rel )  Add dynamic <link> tag
$this->document->getLinks()- Get page link tags
$this->document->addStyle( $href, $rel = 'stylesheet', $media = 'screen' )  Add dynamic style
$this->document->getStyles()- Get page styles
$this->document->addScript( $script ) - Add dynamic script
$this->document->getScripts()- Get page scripts
$this->document->addBreadcrumb($text, $href, $separator = ' &gt; ')  Add breadcrumb
$this->document->getBreadcrumbs()- Get Breadcrumbs

ENCRYPT
$this->encryption->encrypt($value) - Encrypt data based on key in admin settings
$this->encryption->decrypt($value) - Decrypt data based on key in admin settings

IMAGE
$this->image->resize($width = 0, $height = 0)

JSON
$this->json->encode( $data )
$this->json->decode( $data , $assoc = FALSE)

LANGUAGE
$this->language->load($filename);

LENGTH
$this->length->convert($value, $from, $to) - convert a length to another. units must exist
$this->length->format($value, $unit, $decimal_point = '.', $thousand_point = ',') - format the length to use
unit

LOG
$this->log->write($message) - Writes to the system error log

REQUEST
$this->request->clean($data) - Cleans the data coming in to prevent XSS
$this->request->get['x'] - Same as $_GET['x']
$this->request->post['x'] - Same as $_POST['x']

RESPONSE
$this->response->addHeader($header) - additional php header tags can be defined here
$this->response->redirect($url) - redirects to the url specified

TAX
$this->tax->setZone($country_id, $zone_id) - Set the country and zone id for taxing (integer)
$this->tax->calculate($value, $tax_class_id, $calculate = TRUE) - Calculate all taxes to be added to the total
$this->tax->getRate($tax_class_id) - Get the rates of a tax class id
$this->tax->getDescription($tax_class_id) - Get the description of a tax class id
$this->tax->has($tax_class_id) - Check if a tax class id exists in opencart

SESSION
$this->session->data['x'] - Same as $_SESSION['x']  

9

초보 개발자를위한 문서가있는 OpenCart Wiki 웹 사이트가 있습니다. 자세한 내용은 아래 URL을 따르십시오.

http://wiki.opencarthelp.com/doku.php?id=start
http://wiki.opencarthelp.com/doku.php?id=methods_reference

인터넷 아카이브 링크

http://web.archive.org/web/20160305131349/http://wiki.opencarthelp.com/doku.php?id=start http://web.archive.org/web/20160305131349/http://wiki .opencarthelp.com / doku.php? id = methods_reference

예를 들어 메서드 참조에는 다음에 대한 세부 정보가 있습니다.

  1. 고객 로그인
  2. DB 액세스
  3. 쇼핑 카트 취급
  4. 구성
  5. 은닉처
  6. 통화 처리

아직 건설중인 페이지가 있지만 도움이 될 것입니다.

[최신 정보]

2018 년 1 월부터 opencarhelp.com 도메인이 다운되었습니다.


몇 달 후에도 여전히 많은 정보가 누락 된 것 같습니다. 이 프로젝트가 중단 되었습니까?
Pacerier

@Pacerier, 확실하지 않습니다.
Dharmang 2014

이것은, 당신이 여기 링크를 볼 수있는 좋은 페이지도 열려 카트 위키 참조입니다 wiki.opencarthelp.com/doku.php?id=opencart_framework
나심

4

이 주제에 대해 이미 여러 번 답변을 받았지만 제 경험을 바탕으로 OpenCart를 마스터하는 또 다른 접근 방식을 제공하고 싶습니다.

수행하여 학습

몇 개의 파일로 처음부터 자신 만의 OpenCart 프레임 워크를 생성하면 모든 것이 어떻게 결합되는지 이해할 수 있습니다. 나는 당신을 위해 OpenCart의 파일 구조를 모방 할 것입니다.

파일 생성 index.php

<?php
// My simpleCart

1. 레지스트리

Opencart는 레지스트리 패턴을 사용하여로드 된 클래스의 모든 인스턴스를 나열합니다. OpenCart 앱의 핵심입니다. 그런 다음 레지스트리 개체는 다른 개체에 빠르게 액세스 할 수 있도록 모든 범주, 모델 및 라이브러리로 전달됩니다.

경로가있는 파일 만들기 /system/engine/registry.php

<?php
// Registry class. 
class Registry
{
    private $data = array();

    public function set($key, $value){
        $this->data[$key] = $value;
    }

    public function get($key){
        return (isset($this->data[$key])) ? $this->data[$key] : false;
    }
}

당신의 index.php

<?php
// My simpleCart

//load dependency files
require_once('system/engine/registry.php');

//initialize registry
$registry = new Registry;

2. 출력

이제 향후 HTML이 될 출력을 추가해 보겠습니다. 결국, 전체 아이디어는 브라우저에 텍스트 문자열을 보내는 것입니다.

파일 생성 system/library/response.php

<?php
class Response {
    private $output;

    public function getOutput() {
        return $this->output;
    }

    public function setOutput($output) {
        $this->output = $output;
    }

    public function output() {
        if ($this->output) {
            echo $this->output;
        }
    }
}

그리고 당신의 index.php

<?php
// My simpleCart

//load dependency files
require_once('system/engine/registry.php');
require_once('system/library/response.php');

//initialize registry
$registry = new Registry;

//initialize response
$response = new Response;
//add response object to the registry
$registry->set('response', $response);

//lets set an output as a test
$registry->get('response')->setOutput('Hello World');

//send the output to the client
$registry->get('response')->output();

Hello world 만 예제로 추가했습니다. 추가로 제거하겠습니다. 사이트를 새로 고침하여 확인하세요. 브라우저가 표시되어야합니다 Hello World.

3. 컨트롤러

컨트롤러를 페이지로 생각하십시오. 그들은 클라이언트에 표시 될 텍스트, html, json, 다운로드 또는 이미지를 정의합니다. 지금은 텍스트를 보내는 페이지 만 원합니다.

home페이지에 대한 컨트롤러를 생성합니다 .

경로가있는 파일 추가 catalog/controller/common/home.php

<?php

class ControllerCommonHome{

    private $registry = array();

    public function __construct($registry){
        $this->registry = $registry;
    }

    public function index(){

        $output = 'Home Page';
        //using the registry to get the response object and set the Output
        $this->registry->get('response')->setOutput($output);
    }
}

당신의 index.php

<?php
// My simpleCart

//load registry
require_once('system/engine/registry.php');
//load response
require_once('system/library/response.php');

//initialize registry
$registry = new Registry;

//initialize response
$response = new Response;
//add resoinse object to the registry
$registry->set('response', $response);

//load controller common/home
require_once('catalog/controller/common/home.php');
$controller = new ControllerCommonHome($registry);
$controller->index();

//send the output to the client
$registry->get('response')->output();

$refistry컨트롤러 내부에서 액세스 할 수 있도록 ControllerCommonHome에 어떻게 전달했는지 확인 하십시오.

4. 라우터

우리는 컨트롤러가 하드 코딩되는 것을 원하지 않습니다. routeURL 주소 의 매개 변수 를 사용 하여로드 할 컨트롤러를 카트에 알립니다.

경로를 사용하여 파일 만들기 system/library/request.php

<?php
class Request {
    public $get = array();

    //for now I just need the $_GET parameter
    public function __construct() {
        $this->get = $_GET;
    }
}

경로를 기반으로 컨트롤러 파일을 초기화하는 라우터 클래스를 만듭니다 (즉, 컨트롤러를 동적으로 호출).

<?php
class Router {
    private $registry;

    public function __construct($registry) {
        $this->registry = $registry;
    }

    public function dispatch($route) {
        require_once('catalog/controller/'.$route.'.php');
        $class = "Controller".str_replace('/', '', $route);
        $controller = new $class($this->registry);
        $controller->index();
    }
}

그것을 당신의 index.php

<?php
require_once('system/engine/registry.php');
require_once('system/engine/router.php');
require_once('system/library/response.php');
require_once('system/library/request.php');

$registry = new Registry;

$response = new Response;
$registry->set('response', $response);

$request = new Request;
$registry->set('request', $request);

//get the route from the url
if(isset($registry->get('request')->get['route'])){
    $route = $registry->get('request')->get['route'];
}else{
    $route = 'common/home';
}

//initiate the router and dispatch it base on the route
$router = new Router($registry);
$router->dispatch($route);


$registry->get('response')->output();

모든 것을에로드 $registry한 다음에 전달한 $router다음 $controller.

이 게시물은 이미 너무 길지만 OpenCart의 MVC 패턴에 대한 기본적인 이해를 제공하기를 바랍니다.

이 게시물을 계속 진행하고 모델 및 뷰와 같은 다른 기능이 어떻게 작동하는지 알려주려면이 답변을 평가하여 제가 알 수 있도록하십시오.

또한 내 Youtube https://www.youtube.com/dreamvention 및 내 블로그 https://dreamvention.com/blog를 확인하십시오. 더 많은 팁과 자습서를 게시 할 것입니다.


1

PHP는 5000 개가 넘는 내장 함수 가있는 상당히 큰 언어 이므로 새로운 플랫폼을 배우기위한 한 가지 전략은 가장 자주 사용하는 함수를 식별하고이를 잘 이해하는 데 시간을 보내는 것입니다.

OpenCart 소스 코드에 대해 몇 가지 쿼리를 실행했으며 가장 일반적으로 사용되는 상위 10 개 함수는 다음과 같습니다.

array()
count()
explode()
implode()
mktime()
delete()
time()
date()
sprintf()
list()

여기에 나열된 52 개 모두와 모든 코드베이스에서 일반적으로 사용되는 함수를 식별하기 위해 사용할 수있는 Linux bash 명령 : https://www.antropy.co.uk/blog/efficient-learning-for-new-opencart-developers/


1

이 YouTube 동영상 재생 목록은 OpenCart 개발자 전문가가되는데도 도움이 될 수 있습니다.

OpenCart 비디오 자습서

  1. 소개 및 목차이 비디오는 시리즈의 소개를 다룹니다.
  2. OpenCart 설치 localhost 이 비디오는 localhost에서 OpenCart 설치를 안내합니다.
  3. Opencart의 파일 및 폴더 구조 는 파일과 폴더 OpenCart의 구조를 설명
  4. OpenCart에서 데이터베이스 테이블 스키마 생성 데이터베이스 테이블 스키마를 보여주고 OpenCart에서 데이터베이스 테이블을 생성하는 방법을 보여줍니다.
  5. OpenCart 라이브러리 미리 정의 된 개체의 메서드 OpenCart 라이브러리 미리 정의 된 개체의 메서드를 설명하고 찾을 수있는 위치를 보여줍니다.
  6. OpenCart에서 MVCL 패턴, 코드 흐름 및 요청 및 응답 OpenCart에서 MVCL 패턴, 코드 흐름 및 요청 및 응답을 보여줍니다. 아래 그림과 같이 흐름을 설명합니다. 코드로 설명 된 MVCL

  7. Opencart 모듈 설치, 구성 및 제거 모듈 을 업로드 한 다음 OpenCart 3 모듈 / 확장을 설치, 구성 및 제거하는 세 가지 방법을 보여줍니다.

  8. Opencart 3의 레이아웃 및 위치 OpenCart 3의 레이아웃 및 위치를 설명합니다. 카테고리 페이지의 예를 제공하여 여러 페이지에 대한 사용자 정의 레이아웃을 표시하는 방법을 보여줍니다. 우리는 다른 카테고리에 대해 다른 레이아웃을 보여줍니다.

  9. Opencart의 이벤트 개요 OpenCart에서 이벤트가 무엇인지, 어떻게 작동하는지, 무엇이 그렇게 유용하게 만드는지 배웁니다.

  10. 개발자를위한 Opencart API 문서이 비디오는 사용자 정의 opencart API 를 사용하고 만드는 방법을 보여줍니다.

이 비디오를보고 나면 코딩을 시작할 수 있습니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.