Coder Social home page Coder Social logo

php-simple-cms's Introduction

php-simple-cms

Очень простая CMS, написанная по наитию в процессе реализации паттернов GoF, которые в итоге стали сайтом phppatterns.ru. Оттуда, собственно функционал и был выдернут и оформлен в отдельный репозиторий. Базы нет, потом может добавлю. В целом - MVC, но вместо базы массивы. Г%внокод, да :)

Как юзать?

Предусмотрен вывод вдух типов страниц: одиночная страница с uri типа /contacts и категоризированных страниц с uri типа \category-name\category-page

Для добавления одиночной страницы необходимо:

  1. Добавить страницу с контентом в корень src\Views с именем pageName.php
  2. Добавить ключ-значение в массив в файле src\Views\headerTagsContent.php для метатэгов В таком виде:
"pageName" => [
    "title" => "Page Name title",
    "description" => "Page Name description",
    "keywords" => "Page Name keywords",
],
  1. В массив в src\Application\menu.php добавить ключ значение вида "Page name" => "/pageName", при это значение должно совпадать с именем файла в пункте 1 Сие создаст пункт меню в меню :)

Для добавления категории и страницы этой категории необходимо:

  1. Добавить папку с в src\Views\categories\ с именем categoryName, должен получиться ктаалог src\Views\categories\categoryName
  2. В получившийся каталог добавляем index.php - файл индексной нужное количество страниц новой категории вида newPageOne.php
  3. Добавить ключ-значение в массив с ключем "categories" в файле src\Views\headerTagsContent.php для метатэгов В таком виде:
"categoryName" => [ // categoryName - этот ключ должен совпадать с названием директории для новой категории в src\Views\categories\
        "title" => "categoryName title",
        "description" => "categoryName description",
        "keywords" => "categoryName keywords",
        "categoryPages" => [
        
        ],
    ],

Это контент для метатэгов индексной страницы категории. Теперь о конкретных страницых: В массив с ключем "categoryPages" добавляем кажду страницу:

"categoryPages" => [
    "newPageOne" => [ // newPageOne - этот ключ должен совпадать с именем файла
          "title" => "newPageOnee title",
          "description" => "newPageOne description",
          "keywords" => "newPageOne keywords",
      ],
],
  1. В массив в src\Application\menu.php добавить ключ значение вида:
"Category One" => [
            "/categories/categoryName", [ // Это uri для индексной стриницы, обязательно должен совпадать с именем директории категории
                "newPageOne" => "/categories/categoryName/newPageOne", // uri конкретной страницы категории
                ]
    ],

Имена categoryName/newPageOne должны совпадать с именем директории категории и именем файла с контентом соответственно. В целом, добавляем по аналогии с исходником.

Шаблоны

В src\Views\templates лежат шаблоны: _menu-template.php - вывод меню с минимальным количеством тего, если нужно будет переверстывать, categoryPageContent.php - шаблон для вывода контента категоризированной страницы, footer.php - футер, header.php - хедер, manu.php - актуальное отверстанное меню, используещеся для вывода, singlePageContent.php - шаблон для вывода контента одиночной страницы. Верстка в исходнике на Bootstrap 5 с небольшим custom.css. Подключено по CDN.

php-simple-cms's People

Contributors

gmarv1n avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.