Мой движок
Помните я как-то писал, что собираюсь разработать собственное ядро, которое должно давать начало сайтам различной сложности: от сателлита до интернет магазина? Так вот: ядро уже месяца 2, как существует и уже работает на 5-ти моих новых сайтах под контекст, в новостном движке Maulnet/Tools, а так же новом проекте – интернет-магазине по продаже дорогой техники, который находится у меня в разработке. Функционал уже довольно большой, все чистенько, на классах, в стиле CI.
Вкратце о движке: CodeIgniter, модель MVC и мои базовые наработки.
Основные библиотеки, которые существуют на данный момент:
- object. Базовый класс для работы со строками БД, его наследуют нижеперечисленные классы. Подробнее о его работе можно посмотреть тут: http://www.samborsky.com/news/1109/
- u. Класс для работы с юзером: вход/выход/проверки/напоминание пароля/регистрация
- c. Класс для работы с категориями (для статей). создание/изменение/удаление/поиск
- p. Класс для работы с статьей. проверки/удаление/создание/пинг/изменение и много еще чего.
- PageView. Класс для вывода статей.
Теперь приведу в качестве примера, главную страницу одного из моих сайтов:
Контроллер (Home.php)
<?php
class Home extends Controller {
function Home(){
parent::Controller();
$this->load->model("HomeModel");
}
function index(){
$this->load->view("header",array(
"title" => "Главная страница",
"keywords" => "ключевые слова для главной страницы",
"description" => "описание к главной странице"
));
$data = array(
"pages" => $this->HomeModel->pages(),
"pagination" => $this->HomeModel->pagination()
);
$this->load->view("home",$data);
$this->load->view("sidebar");
$this->load->view("footer");
}
}
?>
Модель:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class HomeModel extends Model {
function __construct(){
parent::Model();
$this->load->library('PageView');
$this->PageView->limit = 5;
$this->PageView->uri_segment = 2;
$this->PageView->base_url = '/pages/';
}
function pages(){
return $this->PageView->get();
}
function pagination(){
return $this->PageView->pagination();
}
}
?>
Отображение:
<div class="news">
<?php if( !empty($pages) )
>
<?php foreach( $pages as $page ) : ?>
<div class="block">
<h2><a href="<?= site_url('page/' . $page->slug) ?>"><?= $page->title ?></a></h2>
<div class="image"><img src="<?= $page->thumb_small_url ?>" alt="<?= $page->title ?>" width="219" height="132" /></div>
<div class="text">
<?= mb_substr(strip_tags($page->content),0,600,'utf-8') ?>...
<a href="<?= site_url('page/' . $page->slug) ?>" class="arrow"><img src="/i/news_arrow.gif" alt="" width="8" height="7" /></a>
<div class="links">
<a href="<?= site_url('page/' . $page->slug) ?>" class="read_next">Читайте далее</a><br />
</div>
</div>
</div>
<?php endforeach; ?>
<?php else: ?>
<br /><br />
<p>Статей нет</p>
<?php endif; ?>
</div>
<div class="pages">
<?= $pagination ?>
</div>
Само собой есть админка, которую легко расширять для нового функционала:
Написание статьи
Привязка фотки к статье
Планы по развитию? Как минимум сделать движок шопа, форум, древовидные каменты, фотоальбом. В паблик не вижу смысла выкладывать. Начнутся запросы, типа сделайте рейтинг постов или еще что-нибудь. Нет, этот движок будет использоваться в моих личных проектах, и проектах моих клиентов.
Учитывая, что мне вечно заказывают что-то нестандартное и сложное, то движок будет пополняться новыми библиотеками.
———-
Стройматериалы: цемент одесса.
новогодние автобусные туры в Европу.
коммерческая недвижимость по выгодным антикризисным ценам.




Да, жаль, что не GLP
похрен на попрошаек… Если только о них думать и только из-за них делать такие выводы…
((((((((((((
Но в любом случае спасибо! Ты и так немало полезных вещей написал