Die Shopify-Plattform enthält eine ganze Reihe integrierter Funktionen. Dank des voll ausgestatteten REST- und GraphQL-API-Zugriffs verfügt das Unternehmen jedoch auch über einen florierenden App Store mit einer Vielzahl von Plug-Ins, mit denen die Shopify Store-Funktionalität in vielerlei Hinsicht verbessert werden kann. Unser Resident Developer Relations-Guru Jim Seconde führt Sie durch ein Tutorial zur Entwicklung von Shopify-Apps, um dir den Einstieg in die Erstellung deiner eigenen Shopify-App mithilfe des Laravel-PHP-Frameworks zu erleichtern.
Was ist eine Shopify App?
Eine Shopify-App ist ein extern gehosteter Dienst, der Zugriff auf einen Shopify-Shop hat und diesen bearbeiten kann. Zum größten Teil kann auf jede Funktion, die du im Admin-Bereich siehst, über die API zugegriffen und geändert werden. Sie kann Produkte ändern / erstellen, Bestellungen anzeigen oder ändern usw. Apps sind eine großartige Möglichkeit, um allgemeine Aufgaben wie das Bearbeiten von Sammlungen in großen Mengen oder das Erweitern der Funktionalität deines Geschäfts zu automatisieren, z. B. das Hinzufügen von Bewertungen zu deinen Produkten.
Die 2 Arten von Shopify-Apps
Öffentliche Apps können an den App Store gesendet und von mehreren Stores verwendet werden. Um normale Apps zu erstellen und an den Shopify App Store zu senden, musst du über ein Shopify-Partnerkonto verfügen.
Private Apps werden normalerweise von einem einzelnen Geschäft verwendet. In diesem Artikel werden die Schritte für die Entwicklung privater Shopify-Apps beschrieben, da diese von jedem Benutzer eines Shopify-Stores erstellt werden können und weniger Schritte zum Einrichten erforderlich sind.
So erstellst du eine Shopify-App mit PHP
Um dieser Anleitung zu folgen, benötigst du:
• Ein Shopify-Shop, für den Sie eine App erstellen möchten.
• PHP7.2 oder höher und einige Kenntnisse der Sprache ( https://www.php.net/supported-versions.php ).
• Vertrautheit mit einer Befehlszeile (cmd.exe / Powershell für Windows, bash / zsh / fish für MacOS und Unix-ähnliche Distributionen).
• Vertrautheit mit Composer.
API-Schlüssel
Beginnen wir mit der Erstellung einer Reihe von API-Schlüsseln für unsere App. Gehe über die rechte Navigation zum Apps-Bereich.
Klicke auf "Neue private App erstellen", um die Aufforderung zur Benennung deiner App zu erhalten.
Wir lassen die API-Dropdowns so, dass die App nur Lesezugriff auf deinen Shop hat.
Notiere dir deine neuen Anmeldeinformationen. Mit diesem Schritt ist es Zeit, eine lokale Laravel & vue.js-App einzurichten.
Ein Laravel-Skelett aufbauen
Also werden wir zuerst eine neue Laravel-Skelett-App installieren. Du kannst dies über das Laravel-Installationsprogramm ( https:/ /github.com/laravel/installer ) tun. Am schnellsten kannst du jedoch das Erstellungsprojekt von Composer verwenden. Öffne deine Befehlszeile und erstelle ein neues Projekt:
Komponist create-project --prefer-dist laravel / laravel shopifyApp
Wir werden Twig ( https:/ /twig.symfony.com ) anstelle von Laravels integriertem Blade-Template-System für das Front-End verwenden, da die von Twig verwendete Syntax auf Rubys Liquid-Templating-System basiert, das von Shopify on verwendet wird seine Plattform. Wir werden Rob Crowes Brückenstecker für Laravel verwenden. Installiere Twig gemäß den Anweisungen in der Readme-Datei hier - https:/ /github.com/rcrowe/TwigBridge
Jetzt haben wir Twig. Lass uns eine Seite zum Laufen bringen, indem wir eine neue Route, einen neuen Controller und eine neue Twig-Vorlage erstellen. Um einen neuen Controller zu erstellen, führst du ihn in der Befehlszeile aus
PHP Artisan machen: Controller ShopifyControlle r Jetzt müssen wir eine Route, einen Controller und eine Ansicht verkabeln. Füge eine neue Route zu route / web.php hinzu:
Route :: get ('/ index', 'ShopifyController @ index');
Erstelle die Methode in deinem Controller, die sich jetzt in befindet
/ app / Http / Controller / ShopifyController: <?php
namespace App\Http\Controllers;
class ShopifyController extends Controller
{ public function index() { return view('index'); } }
Der letzte Teil besteht darin, die ' Index' -Ansicht zu erstellen - erstelle eine neue Datei in: / resources / views mit dem Namen index.twig.
Verwenden des API-Wrappers von Eastside Co.
Wir müssen jetzt den Eastside Co Shopify API-Wrapper verwenden, um einige Daten zum Rendern zurückzubringen. Eastside Co hat bereits ein PHP-Paket auf packagist - es ist ein API-Code-Wrapper für allgemeine REST-API-Aufgaben mit Shopify. Navigiere in deiner Befehlszeile in das ShopifyApp-Verzeichnis und installiere die Eastside Co-API:
Komponisten benötigen esc / shopify
Um das installierte Paket zu aktivieren, müssen wir es zu Diensten hinzufügen und Assets installieren. Du tust das, indem du Folgendes tust:
Füge dem Provider-Array in /config/app.php die Klasse \ Esc \ Shopify \ Providers \ APIServiceProvider :: hinzu
- Führe php artisan vendor aus: Veröffentliche in der Befehlszeile, um die Paket-Assets in Laravel zu kopieren.
Wir können jetzt die ShopifyAPI-Schlüssel eingeben. Erstelle eine Kopie deiner .env.dist und nenne sie .env. Füge in der ENV-Datei die Schlüssel hinzu, die das API-Objekt beim Erstellen des Dienstes in Laravel einliest:
SHOPIFY_API_KEY =
SHOPIFY_API_SECRET =
SHOPIFY_ACCESS_TOKEN =
SHOPIFY_SHOP_DOMAIN=
Endgültiges Rendern
Lass uns die Daten in den Controller holen und an die von uns erstellte Index-Twig-Vorlage übergeben. Änder die Indexmethode des Controllers wie folgt:
public function index() {
$shopifyApi = app(‘ShopifyAPI’);
$products = $shopifyApi->call('GET', 'admin/products.json&page=1');
return view('index', (array) $products);
}
Wir übergeben jetzt die erste Seite der Produkte unseres Shops an Twig, die wir jetzt rendern können. Öffne die von uns erstellte Datei resource / views / index.twig. Du kannst eine foreach-Schleife in twig verwenden, die genauso funktioniert wie die php foreach-Funktion:
This is an example Shopify APP page!
Das ist es! Navigiere zu deiner Route und die Produkttitel werden von Twig gerendert. Ein Repository dieses Grundgerüsts findest du auf unserem Github unter https:/ /github.com/EastsideCo/blog-basic-laravel
Hoffentlich gibt dir dies einen Einblick in den Prozess beim Erstellen einer privaten Shopify-App. Wenn du eine Idee für eine private App hast, aber Entwicklerunterstützung benötigst, setze dich mit uns in Verbindung.
Wir haben ein ganzes Entwicklerteam, das sich der Erstellung öffentlicher und privater Shopify-Apps für eine ganze Reihe von Funktionen widmet.