0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 9766 Просмотров
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Добрый день, столкнулся с настройкой ЧПУ в Sobi2. Создаю доску объявлений на Joomla 1.5.15 + SOBI2 v2.9.2.3
В процессе возникает много проблем...

1. Стандартный SobiSEF не совсем подходит для меня, т.к не могу url в латиницу перевести и некоторые объявления не открывает в подробном виде (белый экран).

2. Установил sh404SEF v 1.5.4 302. Плагин для SOBI2 там уже встроенный.
Встает нормально, единственное пишет в настройках компонента: Joomla live_site    WARNING: $live_site missing from Joomla configuration.php file!, но это вроде не опасно.
Поковырялся в настройках, вроде все более-менее доступно.
Отображает: http://имя сайта/имя категории.html - вроде все ок.
Но вот при детальном открытии объявления: http://имя сайта/detail/заголовок объявления.html - вроде то, что нужно,
но заголовок объявления может пересекаться, поэтому нужно или добавить id объявления - http://имя сайта/detail/заголовок объявления - id объявления.html
или указать только id объявления, а details заменить именем категории - http://имя сайта/имя категории/id объявления.html.
Поковырялся в файле плагина com_sobi2 в папке /components/com_sh404sef/sef_ext но я не программист, поэтому нечего не получилось.

3. Title меняются проще - в SOBI2 в настройках редактора реестра. Тема такая уже была - http://joomlaforum.ru/index.php/topic,49512.new.html или на оф. сайте.

Помогите реализовать правильные url в SOBI2, пожалуйста, очень надо.

« Последнее редактирование: 14.02.2010, 14:40:48 от bargakuzzo »
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Вот файл плагина com_sobi2.php для sh404SEF (лежит в папке /components/com_sh404sef/sef_ext)

<?php
/**
 * sh404SEF support for com_content component.
 * Copyright Yannick Gaultier (shumisha) - 2007
 * shumisha@gmail.com
 * @version     $Id: com_sobi2.php 1018 2009-09-04 21:41:47Z silianacom-svn $
 * {shSourceVersionTag: Version x - 2007-09-20}
 */

defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );

// ------------------  standard plugin initialize function - don't change ---------------------------
global $sh_LANG;  
$shLangName = '';
$shLangIso = '';
$title = array();
$shItemidString = '';
$dosef = shInitializePlugin( $lang, $shLangName, $shLangIso, $option);
if ($dosef == false) return;
// ------------------  standard plugin initialize function - don't change ---------------------------

// ------------------  load language file - adjust as needed ----------------------------------------
$shLangIso = shLoadPluginLanguage( 'com_sobi2', $shLangIso, '_SH404SEF_SOBI2_CREATE_NEW');
// ------------------  load language file - adjust as needed ----------------------------------------

// a few params
if (!defined('sh404SEF_SOBI2_PARAMS_ALWAYS_INCLUDE_CATS')) {
   define ('sh404SEF_SOBI2_PARAMS_ALWAYS_INCLUDE_CATS', 0);
   define ('sh404SEF_SOBI2_PARAMS_INCLUDE_ENTRY_ID', 0);
   define ('sh404SEF_SOBI2_PARAMS_INCLUDE_CAT_ID', 0);
}

shRemoveFromGETVarsList('option');
shRemoveFromGETVarsList('lang');
if (!empty($Itemid))  
  shRemoveFromGETVarsList('Itemid');

// based on Sigsiu Online Business Index 2 sef_ext.php file for OpenSEF
   
global $shSobi2CatParents;
$shSobi2CatParents = array();
$shSobi2Details = false;
$sobiMenuId = null;
$shLimit = null;
    
    if (!function_exists('shSobi2GetLimit')) {
    function shSobi2GetLimit() {
       // get DB
       $database =& JFactory::getDBO();
       $query = "SELECT `configValue` FROM `#__sobi2_config` WHERE (`configKey` = 'itemsInLine' OR `configKey` = 'lineOnSite')";
       $database->setQuery( $query );
       $l = $database->loadObjectList();
       return (int)$l[0]->configValue * (int)$l[1]->configValue;
    }
    }
    
    if (!function_exists('shSobi2GetCatName')) {
    function shSobi2GetCatName($cid, &$title) {
         global  $shSobi2CatParents;
         // get DB
         $database =& JFactory::getDBO();
           $sefConfig = shRouter::shGetConfig();
           shSobi2GetParentCats($cid);
        if (!empty($shSobi2CatParents)) {
          $shSobi2CatParents = array_reverse($shSobi2CatParents);
          $catName = null;
          foreach($shSobi2CatParents as $cid) {         
             $query = "SELECT `name` FROM `#__sobi2_categories` WHERE (`catid`= $cid AND `published` = 1)";
             $database->setQuery( $query );
             $cat = $database->loadResult();
              $title[] = (sh404SEF_SOBI2_PARAMS_INCLUDE_CAT_ID ? $cid.$sefConfig->replacement:'')
                 .html_entity_decode($cat); // V 1.2.4.T added html_entity_decode
            }  
        }
    }
    }
    
    if (!function_exists('shSobi2GetItemName')) {
    function shSobi2GetItemName($id){
       $database =& JFactory::getDBO();
       if (empty($id)) return '';
       $sefConfig = shRouter::shGetConfig();
       $query = "SELECT `title` FROM `#__sobi2_item` WHERE (`itemid`=$id AND `published` = 1)";
       $database->setQuery( $query );
      $ret = (sh404SEF_SOBI2_PARAMS_INCLUDE_ENTRY_ID ? $id.$sefConfig->replacement:'')  // add id if setup to  
         .html_entity_decode($database->loadResult()); // V 1.2.4.t added html_entit_decode
      return $ret;  
    }
    }
    
    if (!function_exists('shSobi2GetItemCat')) {
    function shSobi2GetItemCat($id){
       // get DB
       $database =& JFactory::getDBO();
       if (empty($id)) return '';
       $query = "SELECT `catid` FROM `#__sobi2_cat_items_relations` WHERE (`itemid`=$id )";
       $database->setQuery( $query );
        $ret = $database->loadResult(); // V 1.2.4.t added html_entit_decode
      return $ret;  
    }
    }
    
    if (!function_exists('shSobi2GetParentCats')) {
     function shSobi2GetParentCats ($catid) {
      global $shSobi2CatParents;
      // get DB
      $database =& JFactory::getDBO();
      $query = "SELECT `parentid` from `#__sobi2_cats_relations` WHERE `catid`= $catid";
      $database->setQuery( $query );
      if($catid != 1)
         array_push($shSobi2CatParents, $catid);
         if(sizeof($database->loadResult())!= 0)
            shSobi2GetParentCats($database->loadResult());   
     }
    }
    
    $shSobi2Name = shGetComponentPrefix($option);
   if (!empty($shSobi2Name)) $title[] = $shSobi2Name;
   
     $sobi2Task = isset($sobi2Task)? @$sobi2Task : null;
        /* get the task */
        switch ($sobi2Task) {
          case 'addNew':
            $title[] = $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_CREATE_NEW'];
            shRemoveFromGETVarsList('sobi2Task');
          break;
          case 'search':
            $title[] = $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_SEARCH_ENTRY'];
            shRemoveFromGETVarsList('sobi2Task');
          break;
          case 'editSobi':
            $title[] = $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_EDIT_ENTRY'];
            shRemoveFromGETVarsList('sobi2Task');
          break;
          case 'deleteSobi':
            $title[] = $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_DELETE_ENTRY'];
            shRemoveFromGETVarsList('sobi2Task');
          break;
          case 'sobi2Details' :
            $title[] = $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_ENTRY_DETAILS'];
            shRemoveFromGETVarsList('sobi2Task');
            $shSobi2Details = true;
          break;
          case'':
            $title[] = getMenuTitle($option, null, $Itemid, null, $shLangName );
            $title[] = '/';
          break;
          default:
            $dosef = false;
          break;
        }
        shRemoveFromGETVarsList('catid');
        /* get catid */
        if (isset($catid) && !$shSobi2Details) {  // if task=sobi2Details, catid is NOT item category, but Current category!
          shSobi2GetCatName($catid, $title);
          shRemoveFromGETVarsList('catid');
        }
       /* and now get sobiid */
        if (!empty($sobi2Id) && $shSobi2Details) {
          $shTemp = shSobi2GetItemName($sobi2Id);
          if (sh404SEF_SOBI2_PARAMS_ALWAYS_INCLUDE_CATS) {  // params say include cat, but there is no cat id  
             $shCatId = shSobi2GetItemCat($sobi2Id);
             if (!empty($shCatId)) {
                shSobi2GetCatName($shCatId, $title);
             }
          }
          $title[] = empty($shTemp)? $sh_LANG[$shLangIso]['_SH404SEF_SOBI2_ENTRY'].$sobi2Id : $shTemp;
          shRemoveFromGETVarsList('sobi2Id');
        }
   
// ------------------  standard plugin finalize function - don't change ---------------------------  
if ($dosef){
   $string = shFinalizePlugin( $string, $title, $shAppendString, $shItemidString,
      (isset($limit)? @$limit : null), (isset($limitstart)? @$limitstart : null),
      (isset($shLangName)? @$shLangName : null));
}      
// ------------------  standard plugin finalize function - don't change ---------------------------
 
?>
« Последнее редактирование: 14.02.2010, 18:07:27 от bargakuzzo »
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Это что вообще никому ни надо? Такое впечатление что здесь воще никого нет, сам себе пишу  !
*

vizornin

  • Новичок
  • 2
  • 0 / 0
Добрый день, столкнулся с настройкой ЧПУ в Sobi2. Создаю доску объявлений на Joomla 1.5.15 + SOBI2 v2.9.2.3
В процессе возникает много проблем...

2. Установил sh404SEF v 1.5.4 302. Плагин для SOBI2 там уже встроенный.
Встает нормально, единственное пишет в настройках компонента: Joomla live_site    WARNING: $live_site missing from Joomla configuration.php file!, но это вроде не опасно.



В файле configuration.php необходимо прописать  URL сайта в live_site
А как в тебя обстоять дела с меню ‘добавить’ ? У меня ссылка вид _ww.site.ru  а должно типа_ww.site.ru/dobavit
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
В файле configuration.php-dist в корне сайта есть такая строка "var $live_site =".
Вставил http://www.site.ru, но ничего пока не изменилось.
У меня с меню ‘добавить’ вроде нормально - http://www.site.ru/create-new-item.html - стандартное отображение, можно правда ручками поправить. ::)
« Последнее редактирование: 21.02.2010, 12:08:59 от bargakuzzo »
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Live_site нужно смотреть в configuration.php а не configuration.php-dist
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Нашел, вставил, красным отображается название сайта. Вроде все ок.
« Последнее редактирование: 21.02.2010, 13:30:09 от bargakuzzo »
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Может у кого плагин под SOBI2 завалялся переделанный, поделитесь.
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Вроде решил.
Для трансляции http://имя сайта/detail/заголовок объявления - id объявления.html
надо заменить в плагине строку
$shTemp = shSobi2GetItemName($sobi2Id); на
$shTemp = shSobi2GetItemName($sobi2Id)." - ".$sobi2Id;
такое уже обсуждалось - http://joomlaforum.ru/index.php?topic=38687.0
*

Prediger

  • Захожу иногда
  • 65
  • 1 / 0
А как details заменить именем категории - http://имя сайта/имя категории/id объявления.html?
*

Prediger

  • Захожу иногда
  • 65
  • 1 / 0
У меня SOBI2 RC 2.9.2.3 в связке с sh404sef.
Заголовки объявлений выводятся так site.ru/Details/объявление_такое-то.html

Как сделать так, чтобы вместо Details выводилась другая константа или название раздела?

Судя по всему, это определяется где-то в настройках sh404SEF, но пока не могу понять где именно.
*

igorxxl

  • Осваиваюсь на форуме
  • 22
  • 2 / 0
немного не в тему: как избавиться от уникальности названия к каждому объявлению? (нелепо выглядит, если пользователю сообщается, что с таким названием объявление уже существует)
*

zhk

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
У меня SOBI2 RC 2.9.2.3 в связке с sh404SEF.
Заголовки объявлений выводятся так site.ru/Details/объявление_такое-то.html

Как сделать так, чтобы вместо Details выводилась другая константа или название раздела?

Судя по всему, это определяется где-то в настройках sh404SEF, но пока не могу понять где именно.
Как вариант, в список заменяемых символов sh404SEF вставить Details|свое название
*

Prediger

  • Захожу иногда
  • 65
  • 1 / 0
Да, через заменяемые символы получилось. Спасибо.
*

www_jon

  • Новичок
  • 1
  • 0 / 0
Добрые люди, помогите! Возникла проблема, которую никак побороть не могу...
INFO: У меня стоит Joomla 1.5.17; Каталог SOBI2 RC 2.9.1.0;  sh404SEF_1.5.11; mod_rewrite отключен; Работаю на денвере
Коротко о проблеме:
1)Что бы я не делал ссылки к SOBI2 отображаются в таком виде:
.../index.php/Детский-отдых/По-регионам/Большая-Ялта.html?Itemid=0
А должно отображаться
.../index.php/ОТДЫХ В КРЫМУ/По-регионам/Большая-Ялта.html

Было бы неплохо, чтоб отображалось как в <title>:
<title>Отдых в Крыму - По регионам  - Большая-Ялта </title>

Почему он, зараза вставляет этот "Детский-отдых"?
(ОТДЫХ В КРЫМУ- название каталога
По-регионам-это раздел
Большая-Ялта-это категория), Детский-отдых-это тоже категория, причем она отображается во всех ссылках каталога, кроме детального описания материала.

Последнее же отображается такой ссылкой:
.../index.php/Details/База-отдыха-Эврика-г.Алушта.html?Itemid=0
А должно отображаться:
.../index.php/Категория(например: Алушта)/База-отдыха-Эврика-г.Алушта.html


Заранее очень благодарен! *DRINK*
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
А как в тебя обстоять дела с меню ‘добавить’ ? У меня ссылка вид _ww.site.ru  а должно типа_ww.site.ru/dobavit
У меня сейчас похожая проблема с клонами SOBI2. Попробовал избавиться от неё и прописал вручную адрес для добавления новой записи - вроде бы всё ОК, только... Я назначил ссылку для добавления новой записи из главного каталога SOBI2 и именно там она и работает, а когда я захожу в какую-либо категорию этого каталога, то ссылка "Добавить" уже не работает. Почему-то sh404SEF не хочет переделывать эти ссылки. В чём может быть проблема?

P.S. Сейчас проверил можно ли зарегистрироваться на моём сайте - результат плачевный. С включенным sh404SEF после нажатия на кнопку "Зарегистрироваться" сразу перебрасывает на страницу авторизации и выводит сообщение "Для входа в закрытый раздел сайта Вам необходимо авторизоваться". Соответственно авторизоваться не получается, поскольку новый пользователь ещё не подтвердил регистрацию по e-mail. Да и на e-mai ничего и не приходит, то есть форма авторизации не отсылает данные. Стоит СВ 1.2.3 и форма авторизации собственно говоря тоже его.
« Последнее редактирование: 26.09.2010, 11:30:03 от ankoch »
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
Подскажите ,а как отключить этот плагин?Его в плагинах отключил,но все равно показывает.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
Подскажите ,а как отключить этот плагин?Его в плагинах отключил,но все равно показывает.
Это вы сейчас о каком плагине?
*

Руст

  • Захожу иногда
  • 76
  • 3 / 0
Подскажите возможно ли автоматически переводить url http://allgenichesk.org.ua/Details/Строительные-технологии-Газ.Б.html
на http://allgenichesk.org.ua/Details/stroitelnie-tehnologii-gaz.b.html
Просто слышал что руские и динамические(стандартные) url плохо индексируются,вручную изменять компонентом sh404SEF можно но хотелось бы автоматически.
*

ankoch

  • Захожу иногда
  • 498
  • 50 / 1
*

Shade-first

  • Новичок
  • 2
  • 0 / 0
Как в из тайтла SOBI2 удалить добавление значения "Имя сайта"? я уже перерыл пол инета, не нашел
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

sh404SEF + OSMap Free

Автор xlenivecx

Ответов: 5
Просмотров: 953
Последний ответ 14.12.2019, 22:34:33
от draff
Теги на страницах навигации sh404SEF

Автор alexey711

Ответов: 2
Просмотров: 792
Последний ответ 25.06.2019, 15:02:55
от alexey711
Как выключить отображение кода модуля на странице 404 работающей через sh404SEF?

Автор Dim

Ответов: 1
Просмотров: 1061
Последний ответ 05.11.2018, 22:56:47
от Dim
Убрать слэши sh404SEF

Автор romagromov

Ответов: 1
Просмотров: 1188
Последний ответ 16.06.2018, 12:03:05
от romagromov
Управление 404 ссылками в sh404SEF

Автор Afman

Ответов: 0
Просмотров: 1129
Последний ответ 09.06.2018, 20:15:30
от Afman