Автор Тема: link_to_remote() -модификация и начин на действие (AJAX,CI)  (Прочетена 3289 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Добър вечер на всички :)

Направо към  въпроса.

Имам 6 страници. Едната ми е профил на герой (за игра става дума) останалите са характеристики(сила,защита..), предмети и тн.
Идеята ми е следната:

Когато се логна искам да ми се зарежда профилната (направено).
Искам като натисна на менуто да ми се отворят вю-тата на другите страници (създал съм си вю-та всичко работи), но да ми се отварят без да ми се презарежда страницата.

И така, ползвах това :

<?= $this->ajax->link_to_remote('Характеристики', array('url' => 'http://localhost/ci/player/stats', 'update' => 'maincontent'));?>

И го направих съответно за 6те страници. Всичко е ОК.
Но искам да кача една точка(примерно сила от страницата с характеристиките посредством линк). Линка е .../player/statsup/def
След като си извърши работите (проверки, изчисления,ъпдейти на базата), ме връща към player/stats, но по този начин не отивам на страниацта, която ползва AJAX (player/index).

И ето го и въпросът. Как мога да направя така, че когато си кача една точка и си ме пренасочи към споменатия линк, да си отида на страницата player/index(съответния контролер с метода) и да ми покаже таба за характеристиките?

Пробвах да вмъкна всичките вю-та на отделните методи(profile,stats,items..) в index метода(с идеята само да ги скривам и показвам), но не виждам смисъл, понеже така всичко ще ми се събере на едно място.

Малко объркващо го обясних и ако не е ясно нещо, питайте :)
« Последна редакция: 10 Септември 2011, 18:47:06 от wicked92 »

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re: Въпрос относно AJAX,CI
« Отговор #1 -: 13 Август 2011, 11:40:02 »
Пич това

Код: PHP
  1. ajax->link_to_remote();
  2.  

това някакъв твой клас ли е ...
...я дай накви линкове за AJAX,CI  ако имаш такива , че не мога да реша къде е по добре да се реализира ajax-са
дали в контролер или във libraries

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Re: Въпрос относно AJAX,CI
« Отговор #2 -: 13 Август 2011, 12:40:58 »
Това съм ползвал: http://codeigniter.com/wiki/AJAX_for_CodeIgniter/
Теглил съм това: http://codeigniter.com/wiki/File:AJAX-for-CodeIgniter.zip/

И съответно от тук четох пбясненията за някои функции : http://www.symfony-project.org/book/1_0/11-Ajax-Integration
понеже за разлика от UserGuide-a, който го има в първия линк, всички са унагледени с пример.
« Последна редакция: 13 Август 2011, 12:44:53 от wicked92 »

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re: Въпрос относно AJAX,CI
« Отговор #3 -: 13 Август 2011, 14:53:37 »
Мерси  :)

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Re: Въпрос относно AJAX,CI
« Отговор #4 -: 31 Август 2011, 22:08:58 »
Тъй като се занимавах известно време само с AJAX и CI и то главно с това от този линк http://www.symfony-project.org/book/1_0/11-Ajax-Integration, реших да обясна начина, по който се справих с проблемите :) току виж и някой друг попадне на тях.

И така на въпроса
Цитат
Как мога да направя така, че когато си кача една точка и си ме пренасочи към споменатия линк, да си отида на страницата player/index(съответния контролер с метода) и да ми покаже таба за характеристиките?
Отговорът е :

1.За да покажа в div-a content отдалеченото съдържание използвам това :
<?= $this->ajax->font_to_remote('Профил',
  array('url' => 'http://localhost/ci/player/profile',
'update' => 'content')); ?>

Това ми е в меню-то. Аналогично е на link_to_remote, само че си пипнах файла в който са тези функции и си го направих на фонт, понеже ми е по-удобно за обработка и стилизиране.

2.За да стане магията, когато натисна на бутонче от страницата stats(метод в контролера playeer), на flashdata сетвам стойност, по мое желание:
$this->session->set_flashdata('LoadPage', 'stats');
След което пренасочвам към индекс метода и посредством тази променлива зареждам боди-то от вю-то хедър, което извиквам в споменатия метод:
<body onload="
<?php 

echo $this->ajax->remote_function(
   array('url' => 'http://localhost/ci/player/'.$this->session->flashdata("LoadPage").'',
     'update' => 'content'
));
?>

">

Това е магията :)

Незнам до колко това е най-добрият вариянт, но така го измислих. Надявам се да съм в помощ на някого и ако има въпроси, питайте :)

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Въпрос относно AJAX,CI
« Отговор #5 -: 31 Август 2011, 22:29:39 »
Поради каква причина ползваш само absolute path ?
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

federer_11

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 1
  • Публикации: 931
  • ULTRAS LEVSKI
Re: Въпрос относно AJAX,CI
« Отговор #6 -: 31 Август 2011, 23:08:02 »
При зенд има интересни начини за изкарване на линкове, после ще пусна примери. :)
(x)HTML, CSS, PHP, MySQL, XML, WML, JavaScript (jQuery)

wicked92

  • Full Member
  • ***
  • Благодарности
  • -Казани: 13
  • -Получени: 7
  • Публикации: 178
Re: Въпрос относно AJAX,CI
« Отговор #7 -: 31 Август 2011, 23:29:57 »
Цитат
Поради каква причина ползваш само absolute path ?

Имах някакви проблеми, заради които зададох всички линкове по този начин и след това съм забравил да ги сменя.
А каква е разликата дали ще го задам с абсолютен път или само контролер/метод ?

Цитат
При зенд има интересни начини за изкарване на линкове, после ще пусна примери.
Не съм се занимавал със Зенд, но ще ми е интересно да ги видя :)

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: Въпрос относно AJAX,CI
« Отговор #8 -: 01 Септември 2011, 01:46:29 »
Въпреки, че реално резултата е един и същ ползвайки релативният или абсолютният път, има огромна разлика м/у тях.
Ползвайки релативен път в проектите си, браузъра знае, че търсената директория или файл се намират на същият сървър.
Ползвайки абсолютен път, първото нещо, което прави браузъра е да потърси файла извън директорията на сървъра, защото вече има зададен http:// request protocol.
От гледна точка на скороста и логиката при изграждане на layout-a в web site ти, релативният път е много по-гъвкав и мощен.
« Последна редакция: 01 Септември 2011, 01:49:23 от jazzman »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html