avgaz Posted April 30, 2013 Share Posted April 30, 2013 Собственно хочу приобрести компонент Classifieds но мне необходимо что бы урлы на него были такими test.ru/Classifieds а форум у меня установлен в test.ru/forum и соответственно компонент открывается по адресу test.ru/forum/ClassifiedsМожно сделать так что бы компонент открывался по адресу test.ru/Classifieds ?? Link to comment Share on other sites More sharing options...
Bot Posted April 30, 2013 Share Posted April 30, 2013 Обратите внимание По указанному вами в профиле "Board url" находится не IP.Board, либо модифицированный пиратский скрипт с удаленными копирайтами. Если вы указали неверный URL, пожауйста, поправьте его, потому что он скорее всего потребуется при диагностике вашей проблемы. Нелицензионные скрипты не приветствуются, т.к. зачастую именно некорректное "нуление" и является причиной проблем в них. Link to comment Share on other sites More sharing options...
KODEAK Posted April 30, 2013 Share Posted April 30, 2013 По идее mod_rewrite должен помочь ну и если потребуется то надо будет модифицировать сам компонент. Link to comment Share on other sites More sharing options...
siv1987 Posted April 30, 2013 Share Posted April 30, 2013 Можно попробовать в 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 More sharing options...
avgaz Posted April 30, 2013 Author Share Posted April 30, 2013 (edited) Можно попробовать в 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 April 30, 2013 by avgaz Link to comment Share on other sites More sharing options...
siv1987 Posted April 30, 2013 Share Posted April 30, 2013 Без правки модуля - нет. Link to comment Share on other sites More sharing options...
avgaz Posted April 30, 2013 Author Share Posted April 30, 2013 А в каком хоть файле править пути? Link to comment Share on other sites More sharing options...
siv1987 Posted April 30, 2013 Share Posted April 30, 2013 Там может быть не один файл, и кроме файлов есть еще шаблоны, где прописана основная часть ссылок. Link to comment Share on other sites More sharing options...
avgaz Posted May 1, 2013 Author Share Posted May 1, 2013 Уже обыскался не как не найду где править, нашёл такой файл 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 More sharing options...
siv1987 Posted May 1, 2013 Share Posted May 1, 2013 шаблоны, где прописана основная часть ссылок.Темплейт задает только формат чпу, а ссылки в основном компилируются в шаблонах.А вообще лучше всего оставить как есть, ничего страшного если в адресе будет папка форума. Link to comment Share on other sites More sharing options...
avgaz Posted May 1, 2013 Author Share Posted May 1, 2013 В шаблона ссылки вот такого вида<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 More sharing options...
siv1987 Posted May 2, 2013 Share Posted May 2, 2013 Проблема в том что не как не найти где ссылке присваивается адрес форума уж все облазилФормируется он в специальной функции - buildUrl (admin\sources\classes\output\publicOutput.php) Как вариант, перед $this->setCachedFurl($_md5, $base.$url); добавить if( strpos($url, 'app=classfields') !== FALSE ) { $base = str_replace( '/forum/', '/', $base ); } 1 Link to comment Share on other sites More sharing options...
avgaz Posted May 2, 2013 Author Share Posted May 2, 2013 Спасибо, все отлично. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now