اذهب إلى المحتوى

السؤال

نشر

السلام عليكوم ورحمة الله و بركاته

لوسمحتم محتاج كيفية استخدام محرك قوالب smarty 

بحيث في جذر الموقع مجلد template و بداخلة مجلدات القوالب 

و في لوحة التحكم يوجد صفحة تعرض جميع القوالب 

على شكل جدول في كل صف خاص بالقالب يوجد زر "تركيب القالب"

ارجو عمل مثال للفهم و التطوير حسب المراد و جزاكم الله خير.

Recommended Posts

  • 0
نشر

في البداية بدون دراية برمجية لن تتمكن من التعديل والتطوير، يجب الإلمام بلغة PHP لفعل ذلك بجانب لغات الويب HTML, CSS, JS.

أولاً، عليك تثبيت Smarty:

composer require smarty/smarty

ثم قم بتهيئة Smarty في ملف PHP الرئيسي، ولنفترض أن ملفك الرئيسي هو index.php.

<?php
require_once 'vendor/autoload.php';

$smarty = new Smarty();

$smarty->setTemplateDir(__DIR__ . '/template');
$smarty->setCompileDir(__DIR__ . '/template_c');
$smarty->setCacheDir(__DIR__ . '/cache');
$smarty->setConfigDir(__DIR__ . '/configs');

ثم لنقم بكتابة كود PHP لقراءة القوالب المتاحة في مجلد القوالب.

<?php
// تابع للخطوة 2
$templateDir = __DIR__ . '/template';
$templateFolders = array_filter(glob($templateDir . '/*'), 'is_dir');

$templates = [];
foreach ($templateFolders as $folder) {
    $templateName = basename($folder);
    $templates[] = $templateName;
}

$smarty->assign('templates', $templates);
$smarty->display('admin.tpl');

بعد ذلك إنشاء ملف قالب Smarty يسمى admin.tpl لعرض القوالب في جدول.

<!-- admin.tpl -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Admin Panel - Templates</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
    <h1>Available Templates</h1>
    <table class="table table-bordered">
        <thead>
        <tr>
            <th>Template Name</th>
            <th>Action</th>
        </tr>
        </thead>
        <tbody>
        {foreach from=$templates item=template}
        <tr>
            <td>{$template}</td>
            <td>
                <form method="post" action="install_template.php">
                    <input type="hidden" name="template_name" value="{$template}">
                    <button type="submit" class="btn btn-primary">Install Template</button>
                </form>
            </td>
        </tr>
        {/foreach}
        </tbody>
    </table>
</div>
</body>
</html>

ثم إنشاء ملف PHP يسمى install_template.php لتنفيذ عملية تركيب القالب.

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $templateName = $_POST['template_name'];

    // نفذ عملية تركيب القالب هنا
    // تستطيع نسخ الملفات إلى مجلد آخر أو تحديث إعدادات قاعدة البيانات

    echo "Template '{$templateName}' has been installed!";
} else {
    echo "Invalid request.";
}

بذلك ستتمكن من عرض القوالب المتاحة في مجلد template على شكل جدول في صفحة لوحة التحكم، مع زر لتركيب كل قالب، وعند النقر على زر "تركيب القالب"، سيتم إرسال طلب POST إلى install_template.php لتنفيذ عملية التركيب، تستطيع تعديل عملية التركيب حسب متطلباتك.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...