in magento: het eerste deel, het creëren van een gewoonte in de API - magento: het eerste deel,,,,,,,,,, 58, 9 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + - programma zal worden beperkt tot slechts drie. Yuan.Niet' dit artikel niet missen, maken deel uit van een reeks genaamd het creëren van een gewoonte in de API - magento. De oprichting van een douane - magento: Deel II na in een reeks genaamd deel van het creëren van een gewoonte in de API - magento. De oprichting van een douane - magento: in Het tweede deel het succes van een platform,,, om gelijke tred te houden met de kenmerken van hun grenzen voor de concurrentie op de markt is zeer belangrijk.Als je platform) is een van de belangrijkste functies, kan een geïntegreerd en derde systeem, en opende de deur voor het bereiken van de Gemeenschap meer.Magento, als een van de meest succesvolle e - platform -, die een nuttige functie en instrumenten, dit is een echte Enterprise kader voor blootstelling.,, - de middelen in veel opzichten nuttig zijn.De meest voor de hand liggende is, het laat je de middelen tussen de verschillende platforms, zodat ze onafhankelijke platforms, omdat de Overeenkomst betreffende de XML - RPC /zeep, het laat je je bloot te stellen aan een vereenvoudiging van de hulpbronnen in de weg.We zullen met de zeep voor onze gewoonte - module.,, in deze handleiding zullen wij de oprichting van een douane customapimodule "module".Ik veronderstel dat je bekend met de module voor het creëren van het proces in de magento.这是一个很好的文章,解释自定义模块创建的基础。,,在文件设置,一目了然,这是所需的安装所需文件清单:,,应用程序/etc /模块/envato_all.xml:它是用来使我们自定义的模块文件,应用程序/代码/地方/什么什么懒觉/customapimodule /etc /config.xml:它是一个模块的配置文件,应用程序/代码/地方/什么什么懒觉/customapimodule /etc /api.xml:它是一个文件声明的API提供的模块,应用程序/代码/地方/什么什么懒觉/customapimodule /etc /wsdl.xml:在这个文件中,我们将定义API的方法根据WSDL的公约,应用程序/代码/地方/什么什么懒觉/customapimodule /辅助/data.php:这是一个由 Magento的翻译系统使用的文件,应用程序/代码/地方/什么什么懒觉/customapimodule /模型/产品/api.php:这是一个模型文件Het is dat we de API - methode voor de toepassing van de logica, de /code /plaats /wat laat /customapimodule /model /product /grondstoffen /v2.php: steun voor de magento V2 - is een dossier, gebruik van modules creëren. EN: de oprichting van een dossier, ten eerste, creëren we een module van het technische dossier.Het creëren van een dossier van de aanvragen /ETC /modules /envato_all XML "in de volgende documenten aanbrengen.We gebruiken onze module een Envato "en" customapimodule "als we de naam van de module.Het zal ons "customapimodule" module standaard.,, <?XML version = "1"?> < toewijzing > < module > < envato_customapimodule > < actieve > de echte < /actieve > < codepool > lokale < /codepool > < /envato_customapimodule > < /module > < /configuratie >,, de volgende, we moeten een profiel van modules.De oprichting van "aanvragen /code //plaats //customapimodule wat in XML - documenten /ETC /toewijzing" in de volgende inhoud plakken.,, <?XML version = "1"?> < config> < modules> < Envato_Customapimodule> < version> 1.0< /version> < /Envato_Customapimodule> < /modules> < global> < models> < customapimodule> < class> Envato_Customapimodule_Model< /class> < /customapimodule> < /models> < helpers> < customapimodule> < class> Envato_Customapimodule_Helper< /class> < /customapimodule> < /helpers> < /global> < /config>,,, - ze hier niets we've aangegeven van het "model" en "hulp" klassen als per de magento conventions., door de "," app/code/local/Envato/Customapimodule/etc/api.xml creëren."En zal de volgende elementen in het dossier."-" verklaring van de module voor je dossier is blootgesteld aan de methode van de verontreiniging van de lucht, en, en, het;?XML version = "1"?> < config> < api> < resources> < customapimodule_product translate= "titel" module = jointprogramme "customapimodule" > < model> customapimodule/product_api< /model> < title> demo Custommoduleapi API< /title> < acl> customapimodule/product< /acl> < methods> < de lijst van translate= "titel" module = jointprogramme "customapimodule" > < title> de lijst van products< /title> < method> items< /method> < /list> < /methods> < /customapimodule_product> < /resources> < resources_alias> < product> customapimodule_product< /product> < /resources_alia;S> < v2> < resources_function_prefix> < product> customapimoduleProduct< /product> < /resources_function_prefix> < /v2> < acl> < middelen > < customapimodule translate= "titel" module = jointprogramme "customapimodule" > < title> Products< /title> < sort_order> lt; /sort_order> < b translate= "titel" module = jointprogramme "customapimodule" > < title> het data< /title> < /product> < /customapimodule> < /resources> < /acl> < /api> < /config>,,. Te beginnen met de < resources>, Tag, die wraps alle middelen aangegevenDoor je module.Je kunt "middelen" als een entiteit, wil je je API - methode zijn ingedeeld. , in ons geval, we hebben een verklaring van één van de middelen is, < customapimodule_product >,.Je kan langskomen wanneer je wilt, zolang het een unieke identificatiecode.In de , < customapimodule_product > etikettering, middelen, wij hebben verklaard dat < model >, de etikettering van banden magento model zullen wij de definitie van documenten, de definitie van API - methode.Onze middelen zijn door de , perceel < methoden > de etikettering.In ons geval, hebben we een definitie van een gemeenschappelijke methode "project", in de , < de lijst van >, etikettering, dit zal zorgen voor een lijst van producten. Verder ,,, < ACl >, < customapimodule_product > onder het label is voor ons. Controle op de toegang tot de middelen.De waarde van de in de definitie, < ACl > het etiket "producten" genoemd customapimodule /dossier de laatste definitie. ,, in het dossier van de bodem, zoals je kunt zien, hebben we het uitroepen van de onafhankelijkheid < ACl >, definitie van het etiket "customapimodule /product".Kortom, het is voor ons van de middelen tot controle, zodat ze kan door bepaalde "- rol, als ze op de magento terug van deze definitie is voorbij.We zullen meer gedetailleerd in de handleiding van een deel van de discussie op dit moment,.,, de twee versies van de magento API V1 en V2, kan het gebruik van een open API - en.In ons geval, zullen we zien dat dit op twee manieren., < resources_alias >, de etikettering is een alias gebruikt voor de definitie van de middelen, onze methode zal worden genoemd.We hebben het gedefinieerd als < producten >,, dus als je het wil gebruiken magento V1 API - API, gebruik je een "product" als een van de middelen van het prefix.Op dezelfde manier < V > definitie van de middelen, een alias magento V2 API, dus de middelen voor "customapimoduleproduct".Deze dingen kunnen beter als we zien dat we in het kader van de API, een les in de telefoon.,, laten we de oprichting van "aanvragen /code /plaats /wat customapimodule in //ETC /wsdl. XML - bestand en gebruik de volgende inhoud.,, <?De XML - = "1" codering = "utf - 8"?> < de definitie van "xmlns:typens = urn: {naam}} {VAR wsdl." xmlns:XSD = "http://www.w3.org/2001/xmlschema 'xmlns: zeep =" http://schemas.xmlsoap.org/wsdl/soap/"xmlns:soapenc =" http://schemas.xmlsoap.org/soap/encoding/"xmlns:WSDL =" http://schemas.xmlsoap.org/wsdl/' xmlns = "http://schemas.xmlsoap.org/wsdl/" naam "{naam}} {VAR wsdl." doelstellingen "{Naam = urn:}} {VAR wsdl." > < type > < - xmlns = "" "http://www.w3.org/2001/xmlschema targetnamespace = urn: magento" > < invoering van een "=" http://schemas.xmlsoap.org/soap/encoding/schemaLocation= "http://schemas.xmlsoap.org/soap/encoding/" /> < complextype name = "fieldinfo" > < reeks > < element name = "entity_id" = "xsd -: string" /> < element naam "naam" = "xsd:string" /> < /sequence> < /complexType> < complextype naam "fieldInfoArray" > < complexContent> < beperking base= "soapenc:Array" > < ref= "die soapenc:arrayType" wsdl:arrayType= "typens:fieldInfo[]" /> < /restriction> < /complexContent> < /complexType> < /schema> < /types> < de boodschap naam "customapimoduleProductListRequest" > < 3 = "naam" sessionId "xsd:string" /> < /message> < de boodschap naam "customapimoduleProductListResponse" > < 3 = "naam" producten "typens:fieldInfoArray /> <"; /messaGe> < porttype naam "{{var wsdl.handler}}PortType" > < naam: "customapimoduleProductList" > < documentation> de lijst van products< /documentation> < - message= "typens: customapimoduleProductListRequest" /> < output message= "typens:customapimoduleProductListResponse" /> < /operation> < /portType> < bindende {{var naam "; wsdl.handler}}Binding" = "typens:{{var wsdl.handler}}PortType" > < soap:binding style= "RPC" transport= "http://schemas.xmlsoap.org/soap/http" /> < naam: "customapimoduleProductList" > < soap:operation soapAction= "urn:{{var wsdl.handler}}Action" /> < input> < zeep: lichaam naam;Space= "urn:{{var wsdl.name}}" use= "gecodeerd" encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" /> < /input> < output> < zeep: lichaam namespace= "urn:{{var wsdl.name}}" use= "gecodeerd" encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" /> < /output> < /operation> < /binding> < service; naam "{{var wsdl.name}}Service" > LT aan de naam "; {{var wsdl.handler}} binding=" haven "typens:{{var wsdl.handler}}Binding" > < soap:address location= "{{var wsdl.url}}" /> < /port> < /service> < /definitions>,, de "B" wsdl.xml "dossier is de API - definities als per de zeep syntax.We zullen zien wat de etikettering van belang in dit dossier in deze handleiding, ,, in de eerste plaats, de definitie van "fieldinfo" samengestelde aard. Het omvat twee delen: "entity_id" en "naam."Verder, de definitie van "fieldinfoarray" samengestelde, dit is uit 'fieldinfo "samengestelde type.Dit is' fieldinfo "complexe vormen van netwerken. , kort, de definitie van de eigenschappen van een object in het antwoord terug van de API - methode.In ons geval, zullen we terugkeren naar een reeks producten.Elke generator heeft twee kenmerken: "entity_id" en "de naam van het product".Je kunt vast meer dan één eigenschap van uw verzoek,,,., < nieuws >, customapimoduleproductlistrequest "etikettering", de definitie van de parameters voor het gebruik van , < deel > de etikettering.Op dezelfde wijze, en volgens de berichten, < > het etiket "customapimoduleproductlistresponse", we hebben de aard van het voorwerp van de definitie van de produktie.Dat noemen we een API - methode, is het nodig dat we de "het", en de reactie van de API - met een scala van produkten.De rest van de etikettering zal onze methode lijkt, bel je HTTP://///////v2_soap yourmagentostore API?Wsdl = 1.,, we moeten tot "aanvragen /code /plaats /wat in customapimodule /de /data /PHP documenten. Gewoon om ervoor te zorgen dat de vertaling magento systemen werken normaal.Het is bijna een leeg dossier, maar worden in de praktijk.,,, en,PHP envato_customapimodule_helper_data mage_core_helper_abstract {}, de komende uitbreiding, het creëren van een model, laten we het dossier "aanvragen /code /plaats /wat laat /customapimodule /model /product /API. Php".,, <?PHP /app /code /plaats /wat laat /customapimodule /model /product /api.php klasse uit te breiden mage_api_model_resource_abstract {openbare functie envato_customapimodule_model_product_api items () {% arr_products = ((); $product = mage:: getmodel ("Gids /producten") - getcollection () - > addattributetoselect ("> * * * * * * *") - > setorder ('entity_id ", de eigenschappen") - > setpagesize (5); voor ($producten dollar producten) {% arr_products [...] = $product > toArray (array ('entity_id "," naam ");}}}, terug aan de oude arr_products;, de XML - API in", de definitie van een "project" - methode, met een lijst van de etikettering, < >,.In bovenstaand model, ons net dat dit. ,, op deze manier, we alleen vijf nieuwe producten, en de door elk van de voorbereiding van het project een reeks producten en entity_id "en de" prestaties "naam."Dus nu moet je begrijpen waarom "samengestelde" in "wsdl creëren van XML -".Verder hebben we ook nodig hebben, en het creëren van een model voor magento V2 - dossier.We creëren een model - document "aanvragen /code /plaats /wat laat /customapimodule /model /product /API - V2 PHP", enz.,, <?PHP /app /code /plaats /wat laat /customapimodule /model /product /grondstoffen /v2.php klasse envato_customapimodule_model_product_api_v2 uitbreiding envato_customapimodule_model_product_api {}, en zoals je kan zien, is het model is uitbreiding van de definitie van categorie eerder in "aanvragen /code /plaats /wat laat /customapimodule /model /product /API PHP documenten.". En, voor zover mogelijk, de dossiers met betrekking tot de API - en dat de gewoonte.Als je nieuwsgierig bent, om van achteren module en duidelijk te zijn.Nu, als je naar HTTP://///////v2_soap yourmagentostore API?Wsdl = blz. 1, moet je ons zien customapimoduleproductlist "methode" is met de andere genoemde API.In de volgende delen, zullen we blijven kijken, het creëren van grondstoffen en de rol van de gebruiker van grondstoffen, natuurlijk, het gebruik van de methode van onze gewoonte in deze richtsnoeren omschreven methode.,
De oprichting van een douane -
Previous:Het proces begint met CMS