نمونه اسکریپت مدیریت محتوای صفحه با استفاده از PHP و ویرایشگر متن Summernote


در دنیای امروزی، مدیریت محتوا به عنوان یکی از اصلی‌ترین نیازهای هر وب‌سایت محسوب می‌شود. در این راستا، استفاده از ابزارهای قدرتمند و کاربرپسند، نقش کلیدی ایفا می‌کند. یکی از این ابزارهای محبوب، ویرایشگر متن Summernote است که به‌دلیل سادگی، امکانات گسترده و قابلیت‌های پیشرفته، در توسعه سیستم‌های مدیریت محتوا (CMS) بسیار مورد توجه قرار گرفته است. در این مقاله، قصد داریم به صورت کامل و جامع، نحوه ساخت یک نمونه اسکریپت مدیریت محتوای صفحه با بهره‌گیری از PHP و Summernote را شرح دهیم.

معرفی Summernote و اهمیت آن در مدیریت محتوا




Summernote، یک ویرایشگر متن مبتنی بر jQuery است. این ابزار، امکاناتی نظیر ویرایشگر غنی، قالب‌بندی متن، درج تصاویر، لینک‌ها و جداول را در اختیار کاربر قرار می‌دهد. ویژگی مهم آن، سادگی در نصب و استفاده، همراه با قابلیت‌های پیشرفته برای سفارشی‌سازی است. به همین دلیل، توسعه‌دهندگان بسیاری، این ویرایشگر را در پروژه‌های خود به کار می‌برند.
در سیستم‌های مدیریت محتوا، نیاز است که کاربر بتواند محتوای صفحات را به راحتی و بدون نیاز به دانش فنی ویرایش کند. در اینجا، Summernote نقش حیاتی ایفا می‌کند، زیرا با رابط کاربری ساده و امکانات متنوع، امکان ویرایش سریع و آسان را فراهم می‌آورد.

ساختار کلی اسکریپت مدیریت محتوا




در طراحی یک سیستم مدیریت محتوا ساده، چند بخش اصلی وجود دارد:
  1. پایگاه داده (Database): برای ذخیره و بازیابی محتوا، نیاز است که یک پایگاه داده تعریف کنیم. معمولاً از MySQL یا MariaDB استفاده می‌شود.

  1. صفحه ویرایش محتوا: جایی که کاربر می‌تواند متن را وارد یا ویرایش کند.

  1. سیستم ذخیره سازی: با استفاده از PHP، محتواهای وارد شده در Summernote به پایگاه داده ارسال و ذخیره می‌شوند.

  1. نمایش محتوا: پس از ذخیره، محتوا به صورت صحیح و زیبا در صفحات سایت نمایش داده می‌شود.

    پیاده‌سازی پایگاه داده




ابتدا، باید جدولی برای ذخیره محتوا ایجاد کنیم. فرض کنیم جدول زیر را در پایگاه داده MySQL خود تعریف می‌کنیم:
sql  

CREATE TABLE pages (

id INT AUTO_INCREMENT PRIMARY KEY,

title VARCHAR(255) NOT NULL,

content TEXT,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);


این جدول، برای نگهداری صفحات مختلف، شامل عنوان، محتوای HTML و زمان ایجاد است.

پیاده‌سازی صفحه ویرایشگر PHP




در این مرحله، یک صفحه PHP ایجاد می‌کنیم که کاربر بتواند محتوا را وارد یا ویرایش کند. فایل `editor.php` نمونه‌ای از این صفحه است:
php  

<?php

// اتصال به پایگاه داده

$conn = new mysqli('localhost', 'username', 'password', 'database_name');

if ($conn->connect_error) {

die("ارتباط برقرار نشد: " . $conn->connect_error);

}
// دریافت داده برای ویرایش (در صورت وجود)

if (isset($_GET['id'])) {

$id = intval($_GET['id']);

$result = $conn->query("SELECT * FROM pages WHERE id = $id");

$row = $result->fetch_assoc();

} else {

$row = null;

}
// پردازش فرم ارسال شده

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$title = $_POST['title'];

$content = $_POST['content'];
if (isset($_POST['id'])) {

// بروزرسانی محتوا

$id = intval($_POST['id']);

$stmt = $conn->prepare("UPDATE pages SET title=?, content=? WHERE id=?");

$stmt->bind_param("ssi", $title, $content, $id);

$stmt->execute();

} else {

// درج صفحه جدید

$stmt = $conn->prepare("INSERT INTO pages (title, content) VALUES (?, ?)");

$stmt->bind_param("ss", $title, $content);

$stmt->execute();

}

header("Location: list_pages.php");

exit();

}

?>

<!DOCTYPE html>

<html lang="fa">

<head>

<meta charset="UTF-8" />

<title>مدیریت محتوا</title>

<!-- وارد کردن CSS و JS مربوط به Summernote -->

<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/
  1. 8.20/summernote-bs4.min.css&... ← ادامه مطلب در magicfile.ir