Наработки для ABO

Статус
В этой теме нельзя размещать новые ответы.
Z

zeit

Прохожие
Давайте здесь делиться своими наработками для данной CMS.
--
А еще предлагаю создать тему FAQ по CMS, по мативам данного форума
 
А что за наработки? Я, например, Абу использую так - ризую дизайн, верстаю шаблон, заливаю чистую Абу на сервак, подключаю шаблон, css. В принципе бывало немного подправлял модули... По мелочи. Какими наработками предлагаешь делиться?
 
Свои модули, исправления и т.д.
 
Может у кого есть портирован ный модуль FeedBack из 3ей версии в 4ю?
 
Чпу - вот то последнее что выдаёт в абе абу. Подскажите знающие люди хотябы как выровнять ссылки на новости - остальные разделы уже по аналогии ожно будет сделать.
Кстати в пятой версии также присутствуют недоработанные ссылки. Может по данной особенности скрипта им так легче икать нуллы?
 
Лично у меня в классе core, в функции get_block_content есть такая приблуда:

if ($CONFIG['rewrite_mod'])
{
$block_content = str_replace ('/?&', '/?', $block_content);

$pattern = '/<A HREF=["|\']\/[a-z-0-9\/]+(\?[a-z0-9=&]+)/i';
$replacement = "edit_url";
$block_content = preg_replace_callback($pattern, $replacement, $block_content);
}


где edit_url - это функция:

function edit_url($matches){

$url = str_replace(array("?action=", "&", "="), array("", "_", "_"), $matches[1]).".html";

return str_replace($matches[1], $url, $matches[0]);
}

В итоге получется что вроде:

было: /news/?action=show&id=12345
получилось: /news/show_id_12345.html
 
За решение проблемы с ссылками новостей огромное спасибо SexKillerу. :thenks: Надеюсь его решение поможет не только мне.
Но поспешу напомнить, что данный мод не будет работать без соответствующего изменения файлика htaccess , который находиться в корне вашего сайта.
Для работы новостей этот файл должен принять следующий вид...
HTML:
DirectoryIndex index.php
Options -Indexes
ErrorDocument 404 /404.html
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag register_globals off
php_flag allow_call_time_pass_reference on
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)/$  index.php?link=$1 [NC,QSA,L]
RewriteRule  ^(.*)/show_id_(.*)\.html$  index.php?link=$1&action=show&id=$2 [NC,QSA,L]
Но помните сдесь всё сугубо индивидуально и зависит от вашего сайта и его настроек.
В моём сайте ссылки имеют вид:
httр://xxxxx.ru/news/show_id_46.html-новости
httр://xxxxx.ru/inter/trafik/-остальные страницы
(ссылки приведены для примера) Работа с другими модулями кроме новостей не тестировалось.
:read:
Если есть более универсальное решение - просьба выкладывать.
 
У меня в .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(rus/|ukr/|blr/|de/|frn/|eng/)?([0-9a-z/-]+)?(/[a-z_0-9]+.html)?$ index.php?lang=$1&link=$2&html=$3&mod=1&query= [NC,QSA,L]

А в common.php
PHP:
if($CONFIG["rewrite_mod"] && $_GET["mod"] == 1 && $_GET["html"]!=""){
	$html = $_GET["html"];
	$html = "action_".substr($html, strpos("/", $html)+1);
	$html = str_replace(".html", "_", $html);

	if(preg_match_all ("/([a-z0-9]+)?_([a-z0-9]+)?_/i", $html, $param)){
		foreach($param[1] AS $key => $value ){
			$tmp = "request_$value";
			$$tmp = $param[2][$key];
			$query_string .= "$value=$key&";
		}
	}
	$html = "";
}
Это работает со всеми модулями ...
 
А целостную структуру сайта менять тогда не придеться?
У меня на всех страницах тогда начинает ругаться 404 мол такого нет?
 
У меня в .htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(rus/|ukr/|blr/|de/|frn/|eng/)?([0-9a-z/-]+)?(/[a-z_0-9]+.html)?$ index.php?lang=$1&link=$2&html=$3&mod=1&query= [NC,QSA,L]
А в common.php
PHP:
if($CONFIG["rewrite_mod"] && $_GET["mod"] == 1 && $_GET["html"]!=""){
	$html = $_GET["html"];
	$html = "action_".substr($html, strpos("/", $html)+1);
	$html = str_replace(".html", "_", $html);
	if(preg_match_all ("/([a-z0-9]+)?_([a-z0-9]+)?_/i", $html, $param)){
		foreach($param[1] AS $key => $value ){
			$tmp = "request_$value";
			$$tmp = $param[2][$key];
			$query_string .= "$value=$key&";
		}
	}
	$html = "";
}
Это работает со всеми модулями ...



Можеш приложить именно те файлы которые менял?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху