Попробуй мой велосипед PHPShop Framework, все что ты описал в нем есть. На этом построена PHPShop.CMS Free, есть интегрированная среда разработки
PHPShop IDE, в ней создавать интерфейсы очень легко и быстро без танцев с бубном.
Если будут вопросы, есть
форум поддержки.
Поддерживает локализацию, скины и хуки.
Пример вывода списка новостей:
$TitlePage=__("Новости");
function actionStart() {
global $PHPShopInterface;
$PHPShopInterface->size="630,550";
$PHPShopInterface->link="news/adm_newsID.php";
$PHPShopInterface->setCaption(array("Дата","10%"),array("Заголовок","45%"),array("Краткая информация","45%"));
if(!empty($_GET['search']))
$where=array('title'=>" LIKE '%".$_GET['search']."%'",
'description'=>" LIKE '%".$_GET['search']."%'",
'content'=>" LIKE '%".$_GET['search']."%'",
'id'=>"='".$_GET['search']."'",
'date'=>"='".$_GET['search']."'"
);
else $where=false;
// SQL
$PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['table_name8']);
$PHPShopOrm->Option['where']=' or ';
$PHPShopOrm->debug=false;
$data = $PHPShopOrm->select(array('*'),$where,array('order'=>'id DESC'),array('limit'=>1000));
if(is_array($data))
foreach($data as $row) {
$PHPShopInterface->setRow($row[id],$row[date],$row[title],substr(strip_tags($row[description]),0,150)."...");
}
$PHPShopInterface->setAddItem('news/adm_news_new.php');
$PHPShopInterface->setSearch();
$PHPShopInterface->Compile();
}