Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witajcie, nie jestem pewny czy ten temat powinien być umieszczony tutaj, jeśli nie to po prostu przenieście. Mój problem jest taki iż robię coś na miarę panela, robię to wszystko modułami i nie mam pojęcie czy w szablonie źle chce wyświetlić tą zmienną czy po prostu coś w kodzie jest źle, potrzebuje pomocy. Mój kod wygląda jak na razie tak bo chce sprawdzić jak to działa i na tym już mnie zastopowało:

public function doExecute( ipsRegistry $registry )
{
 $db = ipsRegistry::DB();

 $db->query("SELECT p.Gracz, p.Nazwa, m.member_id FROM samp.Konta p, ipb_members m WHERE m.member_id=p.Gracz");
 $db->execute();
 while($char = $db->fetch())
 {
  $char['_p.Nazwa'] = str_replace("_", " ", $char['p.Nazwa']);
 }
	 $template = $this->registry->output->getTemplate('game)->showChar();
  $this->registry->output->addContent($template);
  $this->registry->output->setTitle('Panel gracza');
  $this->registry->output->sendOutput();
}

No więc teraz mam dwa pytanka - czy tutaj $char['_p.Nazwa'] = str_replace("_", " ", $char['p.Nazwa']); mam podawać w takiej postaci p.Nazwa czy odczyta to normalnie Nazwa? Następne pytanie teraz jak ułożyć w szablonach kod by wyświetliło nazwę użytkownika wyczytanego z pętli i bazy bo nic nie wyświetla a zrobiłem {$char['Nazwa']} i próbowałem też {$char['p.Nazwa']}

Opublikowano

1. Chcesz wyświetlić wartość tablicy która nie jest nigdzie zdefiniowana.

2.

$template = $this->registry->output->getTemplate('game)->showChar();

domyśl się co masz źle.

3. Jeżeli chodzi o wyświetlanie zmiennej z hooka, musi ona być dodana podczas tworzenia szablonu do niego, IPS oferuje dużo materiałów na ten temat.

Opublikowano

1. Niestety nie rozumiem - pomożesz?

2. To tylko przy moim kopiowaniu jest źle, normalnie mam dobrze a dokładniej 'game'.

3. Nie mam żadnego hooka, zresztą możesz jakoś mnie naprowadzić co w tym wszystkim robie źle i jak to poprawić?

Opublikowano

- Wyświetlając dane wstawiasz tylko realną nazwę kolumny. Czyli w tym przypadku przykładowo: $char['Nazwa']

W pętli masz:

$char['_p.Nazwa'] = str_replace("_", " ", $char['p.Nazwa']);

Czyli "Utwórz zmienną z nową tablicą _p.Nazwa i wartością z bazy przy czym zmień wszystkie "_" na " "".

Natomiast w szablonach wstawiasz zmienną $char['p.Nazwa'], gdzie tu logika?

Hook: http://community.inv...and-developers/

Opublikowano (edytowane)

Zrobiłem tak. $char['Nazwa']= str_replace("_"," ", $char['Nazwa']); - w nazwie gracza jest _ bo ona składa się z nick_nick więc zamieni na nick nick ale w szablonie dałem {$char['Nazwa']} i nadal nic - po prostu jest strona ale nie wczytało tej zmiennej, a w ogóle nie pokazuje się nic.. Co jest? A możecie mi powiedzieć na co mi jest ten hook? Przecież w tym module piszę cały kod a normalnie w szablonie go wczytuje - po co komu ten hook?

Edytowane przez Kubowaty
Opublikowano

Plik php:

<?php
class public_play_przyklad_character extends ipsCommand
{
public function doExecute( ipsRegistry $registry )
{
 $db = ipsRegistry::DB();

 $db->query("SELECT p.id, p.Nazwa, m.member_id FROM samp.Konta p, ipb_members m WHERE m.member_id=p.id");
 $db->execute();
 while($char = $db->fetch())
 {
  $char['Nazwa'] = str_replace("_", " ", $char['Nazwa']);
 }
	 $template = $this->registry->output->getTemplate('game')->showChar();
  $this->registry->output->addContent($template);
  $this->registry->output->setTitle('Panel gracza');
  $this->registry->output->sendOutput();
}
}
?>

Szablon:

<div class="general_box" style="background: 0;">
   <h3>Postacie</h3><br/>
</div>
Nick postaci: {$char['Nazwa']}

I dodam że w zmiennych szablonu dodałem $char, wiecie o co chodzi.

Opublikowano

Wszystko okej, tyle że pod wpisaniu tablicy $char['Nazwa'] nie robisz z nią nic - nie przekazujesz jej do szablonu.

 $template = $this->registry->output->getTemplate('game')->showChar($char); 

Opublikowano

No przywołuje to w aplikacji - w acp stworzyłem moduł i to jest właśnie jego kod stąd to odwołanie. Portek właśnie zapomniałem o tym na logike lecz nawet jak to dodałem to i tak nic się nie pokazuje. ;x

Opublikowano

Zmienne szablonu ustawione?

P.s. edytuj swój profil, bo 's' to nie jest adres forum.

No napisałem, że zmienne szablonu też są nadane i dodałem to $char.

  • Manager
Opublikowano

Zmień:

                 $template = $this->registry->output->getTemplate('game')->showChar();
  $this->registry->output->addContent($template);

Na:

   $this->registry->output->addContent( $this->registry->output->getTemplate('game')->showChar( $char ) );

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Nadal nic - wszystko jest, jak coś innego wstawie - tabelki działają, divy wszystko widać i jest jak ma być lecz zmienne {$char['Nazwa']} nie wyświetli, po prostu nic takiego nie ma a pozostały normalny kod jest.

Opublikowano

W tabeli Konta jest pole id i Nazwa a to p. to jest przyporządkowanie pod tą bazę - przykład: p.id m.forum to są pola a tabele Konta m, ipb_blabla m. W sumie to nie jestem pewien czy tak można, chyba że jest na to inny sposób?

Opublikowano (edytowane)

Nic tam nie ma. Nawet jak zrobię sobie coś takiego $test .= "testowy tekst"; a potem w szablonie zrobię {$test} to nic się nie wyświetla, coś jakby szablon nie czytał kodu z tego moduły czy coś w tym stylu albo plik nie przekazuje kodu dla szablonu.

jeśli dodałem do pętli print $char; to wyskakuje na samym górze forum ArrayArrayArrayArrayArrayArrayArray

Edytowane przez Kubowaty
Opublikowano (edytowane)

Wyświetla.

array(3) { ["id"]=> string(1) "1" ["Nazwa"]=> string(11) "Nick" ["member_id"]=> string(1) "1" } array(3) { ["id"]=> string(1) "2" ["Nazwa"]=> string(7) ".iksdee" ["member_id"]=> string(1) "2" } array(3) { ["id"]=> string(1) "3" ["Nazwa"]=> string(6) "Tomasz" ["member_id"]=> string(1) "3" } array(3) { ["id"]=> string(1) "4" ["Nazwa"]=> string(5) "Tomek" ["member_id"]=> string(1) "4" } array(3) { ["id"]=> string(1) "5" ["Nazwa"]=> string(3) "Tom" ["member_id"]=> string(1) "5" } array(3) { ["id"]=> string(1) "6" ["Nazwa"]=> string(8) "Zbyszekk" ["member_id"]=> string(1) "6" } array(3) { ["id"]=> string(1) "7" ["Nazwa"]=> string(9) "JakisNick" ["member_id"]=> string(1) "7" }

Edytowane przez Kubowaty

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.