Jump to content

ЧПУ для компонента


avgaz
 Share

Recommended Posts

Собственно хочу приобрести компонент Classifieds но мне необходимо что бы урлы на него были такими test.ru/Classifieds а форум у меня установлен в test.ru/forum и соответственно компонент открывается по адресу test.ru/forum/Classifieds

Можно сделать так что бы компонент открывался по адресу test.ru/Classifieds ??

Link to comment
Share on other sites

Обратите внимание

По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них.

Link to comment
Share on other sites

По идее mod_rewrite должен помочь ну и если потребуется то надо будет модифицировать сам компонент.

Link to comment
Share on other sites

Можно попробовать в htaccess из корня сайта добавить (после RewriteEngine On)

 

RewriteRule ^classifieds/(.*) forum/classifieds/$1 [L]

в initdata.php

 

if( strpos($_SERVER['REQUEST_URI'], '/classfields/') == 0 )
{
$_SERVER['REQUEST_URI'] = '/forum' . $_SERVER['REQUEST_URI'];
}

 

ПС

А вообще адреса генерируются абсолютными с board_url, так что все линки на страницы classfields будут с /forum/.

Link to comment
Share on other sites

Можно попробовать в htaccess из корня сайта добавить (после RewriteEngine On)

 

RewriteRule ^classifieds/(.*) forum/classifieds/$1 [L]

в initdata.php

 

if( strpos($_SERVER['REQUEST_URI'], '/classfields/') == 0 )
{
$_SERVER['REQUEST_URI'] = '/forum' . $_SERVER['REQUEST_URI'];
}

 

ПС

А вообще адреса генерируются абсолютными с board_url, так что все линки на страницы classfields будут с /forum/.

 

В этом случае да компонент открывается по нужному адресу, но все ссылки в компоненте идут через forum/ это можно как исправить?

Edited by avgaz
Link to comment
Share on other sites

Уже обыскался не как не найду где править, нашёл такой файл furlTemplates.php

Вроде там идет преобразование урлов но как там поправить?

вот его код

<?php

/**
*
* Classifieds 1.2.1
*
* @author		$Author: Andrew Millne $
* @copyright   2011 Andrew Millne. All Rights Reserved.
* @license		http://dev.millne.com/license.html
* @package		Classifieds
* @link		http://dev.millne.com
*
*/

if ( ! defined( 'IN_IPB' ) ) {
   print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
   exit();
}

$_SEOTEMPLATES = array(
       'app=classifieds'		=> array(
               'app'			=> 'classifieds',
               'allowRedirect' => 1,
               'out'			=> array( '#app=classifieds$#i', 'classifieds/' ),
               'in'			=> array(
                       'regex'		=> "#/classifieds/?$#i",
                       'matches'	=> array( array( 'app', 'classifieds' ) )
               )
       ),

       'view_category' => array(
               'app'			=> 'classifieds',
               'allowRedirect' => 1,
               'out'			=> array( '/app=classifieds(?:(?:&|&))module=core(?:(?:&|&))do=view_category(?:(?:&|&))category_id=(.+?)(&|$)/i', 'classifieds/category/$1-#{__title__}/$2' ),
               'in'			=> array(
                       'regex'		=> "#/classifieds/category/(\d+?)-#i",
                       'matches'	=> array(
                               array( 'app'		, 'classifieds' ),
                               array( 'module'		, 'core' ),
                               array( 'do'	, 'view_category' ),
                               array( 'category_id'		, '$1' )
                       )
               )
       ),
       'view_item' => array(
               'app'			=> 'classifieds',
               'allowRedirect' => 1,
               'out'			=> array( '/app=classifieds(?:(?:&|&))module=core(?:(?:&|&))do=view_item(?:(?:&|&))item_id=(.+?)(&|$)/i', 'classifieds/item/$1-#{__title__}/$2' ),
               'in'			=> array(
                       'regex'		=> "#/classifieds/item/(\d+?)-#i",
                       'matches'	=> array(
                               array( 'app'		, 'classifieds' ),
                               array( 'module'		, 'core' ),
                               array( 'do'	, 'view_item' ),
                               array( 'item_id'		, '$1' )
                       )
               )
       ),
);

Link to comment
Share on other sites

шаблоны, где прописана основная часть ссылок.

Темплейт задает только формат чпу, а ссылки в основном компилируются в шаблонах.

А вообще лучше всего оставить как есть, ничего страшного если в адресе будет папка форума.

Link to comment
Share on other sites

В шаблона ссылки вот такого вида

<a href="{parse url="module=core&do=view_category&category_id={$sibling['category_id']}&sort_key={$sort['key']}&sort_order={$sort['order']}&filter={$filter}" template="view_category" seotitle="{$sibling['seo_title']}" base="publicWithApp"}" data-tooltip="{$sibling['name']}">{IPSText::truncate($sibling['name'], 20)}</a>

В фалах вот такого

$this->registry->output->addNavigation( $row['name'], 'app=classifieds&module=core&do=view_category&category_id=' . $row['category_id'], $row['seo_title'], "view_category"  );

Проблема в том что не как не найти где ссылке присваивается адрес форума уж все облазил

 

Оставлять в таком виде как сейчас уж очень не хочется.

Link to comment
Share on other sites

Проблема в том что не как не найти где ссылке присваивается адрес форума уж все облазил

Формируется он в специальной функции - buildUrl (admin\sources\classes\output\publicOutput.php)

 

Как вариант, перед $this->setCachedFurl($_md5, $base.$url); добавить

 

	if( strpos($url, 'app=classfields') !== FALSE )
	{
		$base = str_replace( '/forum/', '/', $base );
	}

  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...