Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

Рекомендованные сообщения

Опубликовано:
Обратите внимание

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

Опубликовано:

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

Опубликовано:

Можно попробовать в 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/.

Опубликовано:
  • Автор

Можно попробовать в 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/ это можно как исправить?

Изменено пользователем avgaz

Опубликовано:

Без правки модуля - нет.

Опубликовано:
  • Автор

А в каком хоть файле править пути?

Опубликовано:

Там может быть не один файл, и кроме файлов есть еще шаблоны, где прописана основная часть ссылок.

Опубликовано:
  • Автор

Уже обыскался не как не найду где править, нашёл такой файл 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' )
                       )
               )
       ),
);

Опубликовано:

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

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

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

Опубликовано:
  • Автор

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

<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"  );

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

 

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

Опубликовано:

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

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

 

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

 

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

Опубликовано:
  • Автор

Спасибо, все отлично.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.