Фальсификации выборов президента: как это делается Не смотря на огромное количество нарушений ...
АЛЫЕ ПАРУСА В ПЕТЕРБУРГЕ - (0)«Алые паруса» — один из самых известных праздников в Северной столице, ...
Владимир Румянцев.Ангелы и коты - (0)Владимир Румянцев.Ангелы и коты. Владимир Румянцев родился в 1957 году, рисовать начал в ...
фото Санкт-Петербурга - (0)Санкт-Петербург Санкт-Петербург невероятно красивый город, думаю даже коренным "питерцам" будет и...
Ближневосточная проблема - простое объяснение за пять минут - (0)Ближневосточная проблема - простое объяснение за пять минут простое объяснение ближневосточ...
(и еще 9717 записям на сайте сопоставлена такая метка)
Другие метки пользователя ↓
controls css cлайдер drupal lightbox modx photoshop scrolltotop авто авторские права аренда теплохода бyддизм блог бодхичарья-аватара выпускной вечер грузовик демократия запчасти искусство квадроциклы коммерческий транспорт конец света кот любовь маяковский молитва мотоциклы отдых поддержка сайта поддержка сайтов позитив праздник продвижение сайта разработка сайтов реклама сайт санкт-петербург секс сент-экзюпери создание сайта создание сайтов стихи театр туризм финляндия флористика фото хемингуэй христианство черногория
Модуль Статьи |
Дневник |
1. Файл .htaccess, добавляем строчки:
RewriteRule ^articles\.html$ index.php?articles=yes [L]
RewriteRule ^show_articles_([0-9]+)\.html$ index.php?fullarticles=$1 [L]
Обрати внимание на articles и fullarticles. Дальше ты их увидишь.
2. Создаем в БД таблицу аналогичную по структуре новостям (news_table) articles_table (не забываем о префиксе БД).
-- Структура таблицы `articles_articles`
DROP TABLE IF EXISTS `articles_table`;
CREATE TABLE IF NOT EXISTS `articles_table` (
`NID` int(11) NOT NULL AUTO_INCREMENT,
`add_date` date DEFAULT NULL,
`title` text,
`textToPrePublication` text,
`textToPublication` mediumtext,
`textToMail` text,
`add_stamp` int(11) DEFAULT NULL,
PRIMARY KEY (`NID`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=0 ;
COMMIT;
3. Вносим изменения в файл core/config/tables.inc.php: находим
if ( !defined('NEWS_TABLE') )
{
define('NEWS_TABLE', 'sun_news_table');
и копируем - меняем - добавляем, и получаем
if(!defined('ARTICLES_TABLE'))
{
define('ARTICLES_TABLE', 'articles_table');
}
4. core/languages/russian.php - тут все копируем, что касалось новостей и переименовываем, например: define('ADMIN_ARTICLES', 'Статьи');
5. setting_constants.sql добавляем
insert into SETTINGS_TABLE (settings_groupID, settings_constant_name, settings_value, settings_title, settings_description, settings_html_function, sort_order) VALUES (2, 'CONF_ARTICLES_COUNT_IN_CUSTOMER_PART', '3', 'Количество записей в блоках статей', 'Пожалуйста, укажите, сколько ссылок показывать в блоках статей магазина.', 'setting_TEXT_BOX(2,', 11);
insert into SETTINGS_TABLE (settings_groupID, settings_constant_name, settings_value, settings_title, settings_description, settings_html_function, sort_order) VALUES (2, 'CONF_ARTICLES_COUNT_IN_ARTICLES_PAGE', '10', 'Количество записей на странице статей', 'Пожалуйста, укажите, сколько последних статей показывать на странице с аннотациями', 'setting_TEXT_BOX(2,', 12);
insert into BLOCKS_TABLE (title, content, bposition, active, which, sort, html, url, admin, about, pages, dpages, categories, products) VALUES ('Статьи', '', 4, 1, 0, 9, 1, 'articles.tpl.html', 0, 'Краткий блок статей. Без вывода краткого текста статьи.', 'a:0:{}', 'a:0:{}', 'a:0:{}', 'a:0:{}');
insert into BLOCKS_TABLE (title, content, bposition, active, which, sort, html, url, admin, about, pages, dpages, categories, products) VALUES ('Обзор статей', '', 2, 0, 1, 17, 1, 'articles_center.tpl.html', 0, 'Центральный блок статей. Выводит заголовок и краткое описание статьи.', 'a:1:{i:0;s:13:"home.tpl.html";}', 'a:0:{}', 'a:0:{}', 'a:0:{}');
6. core/functions/news_function.php копируем в core/functions/articles_function.php
В нем хранятся все функции по работе с новостями(для нас уже будут для работы со статьями), в этом файле (articles_function.php) переименовываем функции, например так:
было function newsGetNewsToCustomer() стало articlesGetArticlesToCustomer(), не забываем также о константах в файле, их нужно так же переименовать, например, NEWS_TABLE переименовываем на ARTICLES_TABLE (эта константа у нас нами была прописана в core/config/tables.inc.php). В принципе, во всех файлах, что я правил я заменял news на articles, для унификации так сказать.
7. Копируем core/includes/news.php в core/includes/articles.php . Правим его (переименовываем функции, константы, переменные). Именно этот скрипт и отвечает за обработку темплейтов статей (потом скопируем и их show_articles.tpl.html, show_full_articles.tpl.html). В этом же скрипте указаны имена GET POST переменных (см. выше .htaccess)!!!!!!! они сквозные по всему движку (articles, fullarticles)
ну и т.д.
8. И чтоб добавить в админку - core/tpl/admin/menu.tpl.html
после 501 строчки (примерно так <div class="dvmenu">
<table class="adn"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=news">{$smarty.const.ADMIN_NEWS}</a></td></tr></table> ) добавляем
<table class="adn"><tr><td><img src="data/admin/drs.gif" alt=""></td><td width="100%"><a href="{$smarty.const.ADMIN_FILE}?dpt=modules&sub=articles">{$smarty.const.ADMIN_ARTICLES}</a></td></tr></table>
9. core/includes/admin/modules.php добавляем так чтоб получилось:
$admin_dpt = array(
"id" => "modules", //department ID
"sort_order" => 40, //sort order (less `sort_order`s appear first)
"name" => ADMIN_MODULES, //department name
"sub_departments" => array
(
array("id"=>"news", "name"=>ADMIN_NEWS),
array("id"=>"articles", "name"=>ADMIN_ARTICLES),
array("id"=>"survey", "name"=>ADMIN_VOTING),
array("id"=>"shipping", "name"=>ADMIN_STRING_SHIPPING_MODULES),
array("id"=>"payment", "name"=>ADMIN_STRING_PAYMENT_MODULES),
array("id"=>"linkexchange", "name"=>ADMIN_STRING_MODULES_LINKEXCHANGE),
array("id"=>"yandex", "name"=>"Яндекс.Маркет" )
)
);
add_department($admin_dpt);
И т.д. и т.п.
В темплайтах тоже самое творим.
10. core\tpl\admin\modules_articles.tpl.html
11. core\includes\head.php после строки 25
elseif (isset($_GET["fullnews"])) // fullnews => get title ....
добавить по аналогии
elseif (isset($_GET["fullarticles"])) // fullarticles => get title
{
$fullnews_array_head = articlesGetFullArticlesToCustomer($_GET["fullarticles"]);
if ($fullnews_array_head["title"]) $page_title = $fullnews_array_head["title"].". ".CONF_SHOP_NAME;
else $page_title = CONF_DEFAULT_TITLE.". ".CONF_SHOP_NAME;
$meta_tags = "";
if ( CONF_HOMEPAGE_META_DESCRIPTION != "" )
$meta_tags .= "<meta name=\"description\" content=\"".CONF_HOMEPAGE_META_DESCRIPTION."\"/>\n";
if ( CONF_HOMEPAGE_META_KEYWORDS != "" )
$meta_tags .= "<meta name=\"keywords\" content=\"".CONF_HOMEPAGE_META_KEYWORDS."\"/>\n";
}
это для SEO
Метки: создание сайта интернет магазин shopcms |
Страницы: | [1] |