Преобразование темы Shopify Liquid в PHP: какой подход лучше всего?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование темы Shopify Liquid в PHP: какой подход лучше всего?

Сообщение Anonymous »

Преобразование темы Shopify Liquid в PHP: какой подход лучше всего?
Я использую:
kalimatas/php-liquid для шаблонов Liquid
nikic/fast-route для маршрутизации
Пользовательские реализации для разделов и фрагментов
Вопрос:
Какой архитектурный подход лучше всего подходит для реализации темы Shopify на PHP пока поддерживать чистый, поддерживаемый код? Должен ли я:
Расширить php-liquid с помощью пользовательских тегов/фильтров
Создать упрощенную систему шаблонов
Использовать полностью другой подход
Особенно будут полезны примеры реального производственного кода или архитектурные предложения.
Я работаю над преобразованием темы Shopify в PHP с использованием библиотеки php-liquid (kalimatas/php-liquid). Вот моя текущая настройка:
class LiquidRenderer {
private string $templatePath;
private $fileSystem;

public function __construct($templatePath) {
$this->templatePath = rtrim($templatePath, '/');
$this->fileSystem = new Local($this->templatePath);

Template::registerTag('render', RenderTag::class);
Template::registerTag('style', StyleTag::class);
Template::registerTag('liquid', LiquidTag::class);
Template::registerTag('section', SectionTag::class);
Template::registerTag('schema', SchemaTag::class);
}

public function render(string $templateName, array $data = []): string {
try {
if (!str_ends_with($templateName, '.liquid')) {
$templateName .= '.liquid';
}

$template = new Template();
$template->setFileSystem($this->fileSystem);
$template->parse(file_get_contents($fullPath));
return $template->render($data);

} catch (\Exception $e) {
error_log("Template Error: " . $e->getMessage());
return "Template Error: " . $e->getMessage();
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... t-approach
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»