Код стандартного SEF

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

  1. Offline

    Raptor Гость

    Кому не очень лень, разьясните данную конструкцию...

    Код (CODE):
    1. if (!(isset($url_array[$pos+5]) && $url_array[$pos+5]!='') && isset($url_array[$pos+4]) && $url_array[$pos+4]!='') {
    2. // $option/$task/$sectionid/$id/$Itemid
    3. $task           = $url_array[$pos+1];
    4. $sectionid  = $url_array[$pos+2];
    5. $id         = $url_array[$pos+3];
    6. $Itemid     = $url_array[$pos+4];
    7.  
    8. $_GET['task']       = $task;
    9. $_REQUEST['task']   = $task;
    10. $_GET['sectionid']  = $sectionid;
    11. $_REQUEST['sectionid']  = $sectionid;
    12. $_GET['id']         = $id;
    13. $_REQUEST['id']     = $id;
    14. $_GET['Itemid']     = $Itemid;
    15. $_REQUEST['Itemid'] = $Itemid;
    16. $QUERY_STRING = "option=com_content&task=$task&sectionid=$sectionid&id=$id&Itemid=$Itemid";
     
    Последнее редактирование модератором: 03.05.2008
  2.  
  3. Offline

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

    Регистрация:
    05.06.2008
    Сообщения:
    2
    Симпатии:
    0
    Ответ: Код стандартного SEF

    Код (PHP):
    1. if (!(isset($url_array[$pos+5]) && $url_array[$pos+5]!='') && isset($url_array[$pos+4]) && $url_array[$pos+4]!='') { // $option/$task/$sectionid/$id/$Itemid

    -это страка проверяет на то что url задан по типу /option/task/sectionid/id/Itemid
    Код (PHP):
    1. $task = $url_array[$pos+1]; $sectionid = $url_array[$pos+2]; $id = $url_array[$pos+3]; $Itemid = $url_array[$pos+4];

    здесь разбитый на части урл, присваивается соответствующим переменным.
    Код (PHP):
    1. $_GET['task'] = $task; $_REQUEST['task'] = $task; $_GET['sectionid'] = $sectionid; $_REQUEST['sectionid'] = $sectionid; $_GET['id'] = $id; $_REQUEST['id'] = $id; $_GET['Itemid'] = $Itemid; $_REQUEST['Itemid'] = $Itemid; $QUERY_STRING = "option=com_content&task=$task&sectionid=$sectionid&id=$id&Itemid=$Itemid";

    ну а здесь происходит имитация того, что url был не /option/task/sectionid/id/Itemid, а обычный
    index.php?option=com_content&task=task&sectionid=sectionid&id=id&Itemid=Itemid.
    Вот впринципе и всё.
     

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

Загрузка...