Трюки на CodeIgniter

Discussion in 'PHP' started by MafiaBoy3, 18 Aug 2008.

  1. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    У меня вопрос по Code Igniter.
    Можно ли url создаваемый code igniter изменить на обыкновенный. Кто делал подобное, никак не получается!
    www.your-site.com/index.php/user/12

    Можно ли как-нибудь сделать www.your-site.com/index.php?user=12 ну или что-то подобное?
     
    1 person likes this.
  2. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Это тебе нужен mod_rewrite. Поищи в нете мануал по нем. Еще можешь поискать по ЧПУ. разницы нет
     
  3. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    А я думал, что это начибучил CodeIgniter , ведь он делает такие урлы для поисковых машин!

    Можно ли сайт , созданный с CodeIgniter замаскировать так чтобы он выглядел так, как-будто его сделали на голом php????
     
  4. Moldman

    Moldman Elder - Старейшина

    Joined:
    12 Jun 2007
    Messages:
    91
    Likes Received:
    35
    Reputations:
    -5
    можно,можно даже замаскировать под Asp.net все зависит от твоей фантазии и рук
     
    1 person likes this.
  5. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Нужно отключить чпу и руками привить все пути в файлах
     
  6. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    А что ссылка www.your-site.com/index.php/user/12 не похоже что это может быть и пхп и/или хтмл голый?
     
  7. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Скорее всего ТС просто не заметил файл .htaccess. Можешь удалить его, и править вручную все ссылки, но вообще, у CodeIgniter по-идее можно отключить ЧПУ.
     
    1 person likes this.
  8. m0nsieur

    m0nsieur Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Может тебе этого хватит, что написано в мануале:

    Подключение строки запроса

    В некоторых случаях вы можете предпочесть использовать строки запроса в URL:
    index.php?c=products&m=view&id=345

    CodeIgniter опционально поддерживает эту возможность, которая может быть подключена в файле application/config.php file. Если вы откроете ваш конфигурационный файл, то найдете там:
    $config['enable_query_strings'] = FALSE;
    $config['controller_trigger'] = 'c';
    $config['function_trigger'] = 'm';

    Так же можешь настроить под себя роутинг.
     
    #8 m0nsieur, 18 Aug 2008
    Last edited: 18 Aug 2008
  9. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Вообщем есть ссылка вида www.your-site.com/index.php/profile/12
    Необходимо сделать её вида www.your-site.com/profile.php?id=12

    Триггеры здесь не помогут...
     
  10. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Ты хотя бы с функциями фреймворка разберись. Википедия сказала:
     
  11. m0nsieur

    m0nsieur Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Попробуй решить проблему через URI Роутинг

    $route['profile.php?id=:num'] = "model/function";

    Как-то так, поэкспериментируй в этом направлении.


    P.S. Спроси на русском форуме CodeIgniter, там достаточно быстро отвечают.

    http://code-igniter.ru/forum/general.html
     
    #11 m0nsieur, 18 Aug 2008
    Last edited: 18 Aug 2008
  12. presidentua

    presidentua милиционер Античата

    Joined:
    4 Nov 2007
    Messages:
    305
    Likes Received:
    236
    Reputations:
    15
    на первой странице все сказали -

    Enabling Query Strings
    In some cases you might prefer to use query strings URLs:
    index.php?c=products&m=view&id=345
    CodeIgniter optionally supports this capability, which can be enabled in your application/config.php file. If you open your config file you'll see these items:
    $config['enable_query_strings'] = FALSE;
    If you change "enable_query_strings" to TRUE this feature will become active. Your controllers and functions will then be accessible using the "trigger" words you've set to invoke your controllers and methods:
    index.php?c=controller&m=method
     
    1 person likes this.
  13. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Вот о чём говорит мануал по CodeIgniter

    Подключение строки запроса

    В некоторых случаях вы можете предпочесть использовать строки запроса в URL:
    index.php?c=products&m=view&id=345

    CodeIgniter опционально поддерживает эту возможность, которая может быть подключена в файле application/config.php file. Если вы откроете ваш конфигурационный файл, то найдете там:
    $config['enable_query_strings'] = FALSE;
    $config['controller_trigger'] = 'c';
    $config['function_trigger'] = 'm';

    Если изменить «enable_query_strings» в положение TRUE, то эта возможность активируется. Ваши контроллеры и функции в них будут доступны при помощи определенных «триггерных» слов:
    index.php?c=controller&m=method


    Но мне абсолютно непонятно как мне сделать на своём сайте url вида prodile.php?id=$id?

    Мне сказали на этом форуме что это возможно, но блин как?

    Если CodeIgniter ВООБЩЕ НЕ ОБРАБАТЫВАЕТ GET запросы, а триггеры это вообще другое, мне не нужно в url выводить какой-то метод...........
     
    1 person likes this.
  14. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Замени
    Code:
    $config['enable_query_strings'] = FALSE;
    на
    Code:
    $config['enable_query_strings'] = TRUE;
    :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:
     
  15. m0nsieur

    m0nsieur Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Специально для тех кто в ТАНКЕ повторю

    Попробуй решить проблему через URI Роутинг

    $route['profile.php?id=:num'] = "имя_модели/имя_функции_которая_будет_обрабатывать";

    Почитай вот здесь - http://code-igniter.ru/user_guide/general/routing.html

    Там через роуты и регулярные выражения можно выявлять нужные тебе строки и передавать на обработку конкретной модели и функции.
     
    2 people like this.
  16. presidentua

    presidentua милиционер Античата

    Joined:
    4 Nov 2007
    Messages:
    305
    Likes Received:
    236
    Reputations:
    15
    http://code-igniter.ru/user_guide/general/urls.html
    Пипец... то что там вставили кусок кода с тригеррами это же не значит что они там нужны.

    А нужную тебе задачу можна решить многими способами, их уже назвали:
    1. через URI Роутинг
    2. $config['enable_query_strings'] = FALSE;
    3. переписать систему под свои нужды
    4. МодРеврайт

    Но как по мне, лучше пиши на голом ПХП без фреймворков, просто это тольок самая маленькая проблема которая всплила, но чтобы решать остальные нужно действительно знать хорошо ПХП.
     
    #16 presidentua, 20 Aug 2008
    Last edited: 20 Aug 2008
    1 person likes this.
  17. presidentua

    presidentua милиционер Античата

    Joined:
    4 Nov 2007
    Messages:
    305
    Likes Received:
    236
    Reputations:
    15
    - а что тогда мне трогать???

    Ну достатчоно сложный вопрос, так как незнаю твои целей! Но попробую ответить...

    Хоч сделать сайт? тогда возьми готовый движок типа Джомла
    Хоч научиться кодить и одновременно сделать сайт? сделай на Джомле, а дальше учись кодить изменяя саму Джомлу или написав к ней плагин...
    хоч научиться кодить? бери какую то интересную небольшую задачу и релизовывай, типа Аська-Бота, парсера Гугла или еще что-то такого маленького
    хоч научиться кодить используя ООП? выполни пункт перед этим, дальше напиши какой-то оплезный обьект, а потом розберись с Фреймворком типа КодеИгнайтера
    хоч выучить фреймворк? сделай 4 пункта перед этим, а потом читай докуменаттйию по Фрейморку

    ВОт маленький списочек... )
     
    1 person likes this.
  18. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Вот ещё что...

    Все мы знаем что при запуске нашего сайта управление передаётся файлу index.php в котором содержится необходимая информация для работы сайта(дирректории ядра, приложения ит.д)

    А вот мне для сайта нужно чтобы на главной странице сайта отображался index.php (т.е. главаная страница с модулями загрузки,регистрации и т.д.) То есть работало всё так как если бы codeignitera не было и в помине!!!

    Как такое можно осуществить?
     
  19. n3m0

    n3m0 Elder - Старейшина

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    Ты понял устройство ядра CodeIgniter'a ?

    Там есть такая себе модель MVC(Model->Controller->View)
    Так вот. По дефолту в фраемворке установлена главня страница -> welcom

    Открой папку system/application/view/
    Все файлы в этой папки отвечают за вывод информации на экран
    Там должет быть файл welcom.php или чтото подобное.
    Открой его. Внимательно посмотри. ты видишь там вывод чего-либо?

    Вот, то что ты ищешь. Там обычный вывод HTML кода.


    ИМХО: ты задаешь очень даже тупые вопросы. Документации к Фреймворку мало на русском, но достаточно, стобы не задавать такие тупые вопросы.
    Вообще поищи в поисковиках. Я сейчас интересуюсь этой темой(CodeIgniter) и понаходил уйму информации.

    Чем я руководствуюсь:
    http://chtivo.webhost.ru/articles/mvc.php - понять азы работы MVC
    http://www.codeigniter.ru/ - сборник ссылок
    http://www.codeigniter.org.ru/ - ещё не смотрел что это, нашел когда этот пост писал
    http://habrahabr.ru/blogs/codeigniter/ - некоторая информация
    http://code-igniter.ru/ - а здесь должен ты жить...тут и русская документация, и форум

    Мне этого хватает.

    Можешь написать в аську, я тебе куски кода покажу, как правильно пользоваться шаблонизатором, а то вижу, ты "читаешь книгу, видишь фигу"
     
    1 person likes this.