Как можно переписать ссылки SEF - без запятой

Тема в разделе "Joomla и SEF (ЧПУ)", создана пользователем lord_deluxe, 05.04.2008.

  1. lord_deluxe
    Offline

    lord_deluxe Недавно здесь

    Регистрация:
    01.02.2008
    Сообщения:
    14
    Симпатии:
    0
    Можно ли как то заменить или переписать запятую на слеш option,com_banners
    Помогите кто сталкивался, плиз очень нужно.
     
  2.  
  3. chilly_bang
    Offline

    chilly_bang специалист

    Регистрация:
    30.04.2006
    Сообщения:
    1 545
    Симпатии:
    38
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    нужно ставить сторонний компонент для сеф урл. иначе никак.
     
  4. lord_deluxe
    Offline

    lord_deluxe Недавно здесь

    Регистрация:
    01.02.2008
    Сообщения:
    14
    Симпатии:
    0
    Ответ: Как можно переписать ссылки SEF - без запятой

    ясно .. блин это плохо ..
    я просто в sef.php обрезал когда то обрезал последний слеш rtrim() функцией и ставил .html в конце
    думал может и с запятой можно чет сделать .. но ниче придумать не могу :(
     
  5. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    Запятая это разделитель. Без нее никак в стандартном. Это для скорости сделано.
     
  6. lord_deluxe
    Offline

    lord_deluxe Недавно здесь

    Регистрация:
    01.02.2008
    Сообщения:
    14
    Симпатии:
    0
    Ответ: Как можно переписать ссылки SEF - без запятой

    ясно ок .. спасибо
     
  7. Physicist
    Offline

    Physicist Недавно здесь

    Регистрация:
    12.09.2006
    Сообщения:
    116
    Симпатии:
    9
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    А в чем проблема заменить в нужных местах "," на например "-"? По-моему достаточно в /includes/sef.php заменить везде 'lang,' на 'lang-', и аналогично 'order,' на 'order-', 'filter,' на 'filter-'. Плюс, заменить строки
    1.
    Код (CODE):
    1. $temp = explode(',', $value);
    на (такая строка 2 раза встречается)
    Код (CODE):
    1. $temp = explode('-', $value);

    2.
    Код (CODE):
    1. $sefstring .= $key .','. $value.'/';
    на
    Код (CODE):
    1. $sefstring .= $key .'-'. $value.'/';

    3.
    Код (CODE):
    1. $string = str_replace( '=', ',', $sefstring );
    на
    Код (CODE):
    1. $string = str_replace( '=', '-', $sefstring );
     
    Последнее редактирование: 05.05.2008
    ZAjoomla! и chilly_bang нравится это.
  8. lord_deluxe
    Offline

    lord_deluxe Недавно здесь

    Регистрация:
    01.02.2008
    Сообщения:
    14
    Симпатии:
    0
    Ответ: Как можно переписать ссылки SEF - без запятой

    Отлично, спасибо большое!!!
    Я как то не разглядел раньше переменой temp ... и изменив только в string и sefstring перестали работать ссылки .. теперь все ок, супер
     
  9. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    lord_deluxe,
    а можно поподробнее, как вы добавили .html в конец всех адресов и где на это можно посмотреть?
     
  10. Physicist
    Offline

    Physicist Недавно здесь

    Регистрация:
    12.09.2006
    Сообщения:
    116
    Симпатии:
    9
    Пол:
    Мужской
    Arkadiy нравится это.
  11. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой


    Спасибо! Займусь этим сегодня!

    Добавлено через 1 час 32 минуты
    этот топик меня че-то запутал в конец. короче, у меня красивые сгенерированные страницы оканчиваются на html, но не открываются. нот фаунд!
    что я сделал:
    1) в начало файла sef.php вставіл код
    $_SERVER['REQUEST_URI']=preg_replace('|^/articles/(\d+)/(\d+)\.html$|','/content/view/\2/\1/',$_SERVER['REQUEST_URI']);
    2) затем в это же файл код $string=preg_replace('|^content/view/(\d+)/(\d+)/$|','articles/\2/\1.html',$string); перед кодом return $mosConfig_live_site .'/'. $string . $fragment;

    а че не работает та? а?
     
    Последнее редактирование: 10.04.2008
  12. Physicist
    Offline

    Physicist Недавно здесь

    Регистрация:
    12.09.2006
    Сообщения:
    116
    Симпатии:
    9
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    А что у тебя в .htaccess?
     
    Последнее редактирование: 10.04.2008
  13. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    я там ничего не трогал. все осталось, как и было в стандартном файле. а что нужно дописать?
     
  14. Physicist
    Offline

    Physicist Недавно здесь

    Регистрация:
    12.09.2006
    Сообщения:
    116
    Симпатии:
    9
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    Да вроде если обычный SEF работал, то он и после "модификаций" должен работать. Проверь, что SEF включен в настройках сайта и приведи свой .htaccess (можно без строк с комментариями).
     
  15. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    Ніже прівожу то, что у меня там в файле. но я нічего не менял. может я не в те места вставляю?

     
  16. lord_deluxe
    Offline

    lord_deluxe Недавно здесь

    Регистрация:
    01.02.2008
    Сообщения:
    14
    Симпатии:
    0
    Ответ: Как можно переписать ссылки SEF - без запятой

    посмотреть можно тут http://shop.mebelstyle.net/

    решал я так :

    после строк

    foreach($parts as $key => $value)
    {
    // remove slashes automatically added by parse_str
    $value = stripslashes($value);
    $sefstring .= $key .','. $value.'/';
    }

    это примерно 505 строчка в файле includes/sef.php

    ставил

    $sefstring = rtrim($sefstring, '/').'.html';

    это перед

    $string = str_replace( '=', ',', $sefstring );
     
  17. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    смотриться неплохо. только у меня на сайте почему-то хтмл добавляется только к компонентам. а новости остались со слешем.
     
  18. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    А типа такого никуда вставлять не надо вставллять?

    RewriteCond %{REQUEST_URI} ^(/info|/info/)$ [NC]
    RewriteRule ^(.*) index.php?option=com_content&task=view&id=17&Itemid=1
     
  19. Offline

    Raptor Гость

    Ответ: Как можно переписать ссылки SEF - без запятой

    попробуй вставить $sefstring = rtrim($sefstring, '/').'.html';
    после :
    $sefstring .= $parts['Itemid'].'/';
    }
    и перед:
    $string = str_replace( '=', '-', $sefstring );

    или просто замени:
    $sefstring .= $parts['Itemid'].'/';
    на:
    $sefstring .= $parts['Itemid'].'.html';

    нет, такого никуда вставлять не надо.
     
    Последнее редактирование модератором: 03.05.2008
  20. Offline

    ZAjoomla! Недавно здесь

    Регистрация:
    09.04.2008
    Сообщения:
    95
    Симпатии:
    3
    Пол:
    Мужской
    Спасибо всем, кто помог. Все получилось!
     
  21. werdi
    Offline

    werdi Недавно здесь

    Регистрация:
    18.11.2007
    Сообщения:
    72
    Симпатии:
    1
    Пол:
    Мужской
    Ответ: Как можно переписать ссылки SEF - без запятой

    А можете уже готовым хаком поделиться?

    Добавлено через 11 минут
    Извините, это не опечатка?
     
    Последнее редактирование: 03.05.2008

Поделиться этой страницей

Загрузка...