1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Запоминаем ссылку.

Discussion in 'Моды - Mods' started by mikield, Jul 15, 2011.

  1. mikield Thread starter Novice member


    Offline
    Message Count:
    20
    Likes Received:
    0
    Доброго времени суток, господа, сегодня рассматривал разные темы на вашем форуме, и мне пришла удивительная мысль в голову. Сейчас я расскажу вам как немного упростить работу с СЕ. Главный вопрос: вы готовы попотеть 1 раз, чтобы дальше было легко?
    Если нет, тогда можете покидать тему.
    Но а если вы все таки решили потрудиться, читаем внимательно мой пост.


    И так приступим.

    Надеюсь всех всегда не устраивала система ссылок в СЕ. (Например, вы хотели бы чтобы было доступны сообщения по ссылке /mail а не /user_messages.php)

    ОК, мы поменяли ссылку в .htaccess и поменяли ее путь в tpl файлах.
    Ну, а если вам, однажды захочется увидеть ссылку по другому!?! Что же это опять лесть в tpl файлы и менять ее везде?
    Нет, я думаю вы не захотите делать всю работу заново.

    Но с помощью СЕ и ее базы, мы можем заставить систему запомнить ссылку, и чтобы поменять ее, нужно будет только заменить ее в 2-х местах.


    Я буду делать на примере сообщений.
    Нам понадобиться:
    1. База данных СЕ. (а именно таблица se_urls)
    2. tpl файлы в которых нужно вставить код.
    3. файл .htacces для настройки доступности ссылки

    Рассмотрим таблицу, и вставим туда ссылку:
    И так, таблица se_urls. В ней есть столбцы:
    • url_id - id записи в базе (оставляем пустым)
    • url_title - Любое название (описание для чего ссылка)
    • url_file - файл который отвечает за ссылку (в моем случаи user_messages, обратите внимание: вносим без расширения, то есть без .php)
    • url_regular - ссылка, когда ЧПУ не включено
    • url_subdirectory - ссылка, когда ЧПУ включено

    Далее меняем в tpl файлах ссылку с такого типа:
    Code:
     <a href='user_messages.php'>{lang_print id=1235}</a> 
    на
    Code:
    <a href="{$url->url_create('[B]имя файла(то что вписали в базе)[/B]')}">{lang_print id= [B]id слова[/B]}</a>

    Настраиваем .htaccess


    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^[B]ссылку с базы (столбик url_regular или url_subdirectory(если ЧПУ влк))[/B]?$ /[B]ссылку с базы (столбик url_regular или url_subdirectory(если ЧПУ влк))[/B] [L] 
    
    Смысл этого: Мы берем ссылку с базы, и пишем доступ ней.

    Пример:
    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^mail?$ /mail [L] 
    


    Остался главный вопрос! Что же делать если ссылке передается id?

    Проходим это 3 пункта:
    Запись ссылки в базу:
    Если надо передать id пользователя пишем $user.
    Если надо передать другое(любое id) пишем: $id1, $id2 и так далее (в 1 ссылку не должно быть 2 $id1!!!)

    Настройка .htaccess для ссылок с id:

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^[B]ссылка с базы (любое id заменяем на [I]([0-9]+)([^/]+)[/I] [/B])?$ /[B]ссылка с базы  (любое id заменяем на [I]$1, $2 и так далее[/I])[/B]
    
    Теперь если вы захотите поменять ссылку, вам уже не надо будет залазить в tpl файлы, и менять все ссылки на новую, а просто поменять ссылку в базе, и настроить доступ по .htaccess :)

    Думаю все написал понятно. :cool: Принимаю вопросы типа: "Зачем...? Почему...? Как...?"

Share This Page

All rights reserved SocEngine.ru ©