Jump to content

naXe

Użytkownicy
  • Content Count

    536
  • Joined

  • Last visited

  • Days Won

    1

Seller statistics

  • 0
  • 0
  • 0

naXe last won the day on July 3 2018

naXe had the most liked content!

Community Reputation

79 Excellent

6 Followers

About naXe

  • Rank
    Obeznany z IP.Board
  • Birthday February 15

Profile Information

  • Płeć
    Mężczyzna

Contact Methods

Informacje o forum

Recent Profile Visitors

13102 profile views
  1. Ja mam również problem z DEV, ale jedynie ze stroną główną forum (przekroczony limit czasu) i nie mogę wyłapać co to powoduje (\IPS\Log::log() napewno, ale nie wiem w jakim momencie)...
  2. Mógłbyś nakierować jakby miał wyglądać kod?
  3. Witam, korzystam z tabeli \IPS\Helpers/Table\Db\ Sortowania ustala się za pomocą $table->sortOptions = [ 'nazwa_kolumny' => 'nazwa wyświetlana' ... ] w jaki sposób mogę ustawić kolumny sortowania, które zawierają dane zapisane w postaci JSON?, próbowałem wpisać JSON_EXTRACT i nic.
  4. naXe

    JSON w HERE

    Rozwiązane
  5. naXe

    JSON w HERE

    Witam, jak powinno wyglądać zapytanie, aby pobrać dane, gdy wartość klucza X to Y w kolumnie Z w której jest zapis w postaci JSON?
  6. Działa tak jak chciałem. Jakby ktoś chciałby tak samo zrobić, to nie zapomnijcie przed zwróceniem wartości pól w formatFormValues usunąć niepotrzebnych kolumn do zwrócenia funkcją unset(), w moim przypadku form_url1, form_url2, form_url2, form_url2
  7. Kiedyś próbowałem i było zablokowane lub wyłączona była edycja. Nie pamiętam. Już zmieniłem. Będę testował ten 'sposób' i dam znać jak to wygląda.
  8. Tak właśnie pomyślałem teraz, aby tak zrobić, ale to jest jedyne wyjście? PS: @Spanner zmień mi w sygnaturze gs-dev.com.pl na gs-dev.pl 😛
  9. Postanowiłem inaczej to zrobić, ale problem dalej dotyczy tabeli, a dokładniej kolumn. Jak wiadomo nazwa pola w formularzu to również nazwa kolumny w tabeli. Mam w tabeli dodaną nową kolumnę 'urls', gdzie chcę przechowywać wartości z czterech pól w formularzu (x, y, z) w postaci JSONa. Jak dodaję jako nowy element, to wszystko jest ok, ale gdy edytuje to nie koduje wartości pól do postaci JSON. Przykład: public function form(&$form) { $form->add(new \IPS\Helpers\Form\Url('form_url1')); $form->add(new \IPS\Helpers\Form\Url('form_url2')); $form->add(new \IPS\Helpers\Form\Url('form_url3')); $form->add(new \IPS\Helpers\Form\Url('form_url4')); } public function formatFormValues($values) { foreach($values as $k => $v) { if(mb_substr($k, 0, 8) === 'form_url') { unset($values[$k]); $values[ mb_substr($k, 8) ] = $v; } } return $values; } public function saveForm($values) { if($this->id) { \IPS\Db::i()->update(static::$databaseTable, [ 'urls' => json_encode([ 'url1' => (string) $values['1'], 'url2' => (string) $values['2'], 'url3' => (string) $values['3'], 'url4' => (string) $values['4'] ]) ], [ 'id=?', $this->id ]); } else { \IPS\Db::i()->insert(static::$databaseTable, [ 'urls' => json_encode([ 'url1' => (string) $values['1'], 'url2' => (string) $values['2'], 'url3' => (string) $values['3'], 'url4' => (string) $values['4'] ]) ]); } } unset($values['1'], $values['2'], $values['3'], $values['4']); parent::saveForm($values); } PS: W formularzu nie ma pola 'urls', więc musi być osobne zapytanie do MySQL, ale przez to robią się 2 wpisy. Tak wygląda metoda bazowa metoda save():
  10. Oczywiście, mogę tak, ale gdy tak zrobię to doda też do tabeli jaka jest w $databaseTable (sprawdzone w IPS 4.4.2)
  11. Witam, w jaki sposób mogę wykonywać zapytania SQL w metodach saveForm(), save() do innej tabeli niż podana w $databaseTable. Teraz jest, że po zapisaniu formularza, dane zapisują się właśnie w tabeli podanej w $databaseTable.
  12. https://www.ipsbeyond.pl/staff/
  13. Formularz kontaktowy jest domyślnie dodany, wystarczy http://adres-forum.pl/contact (jeśli używasz FURLi) lub http://adres-forum.pl/index.php?app=core&module=contact&controller=contact (jeśli nie używasz FURLi).
  14. {{ $member = \IPS\Member::loggedIn(); }} {{ $groups = $member->get_groups(); }} Do zmiennej $groups zostanie zwrócona tablica z numerami ID grup, jakie posiada aktualnie zalogowany użytkownik (podstawowa i podrzędne). Później możesz to wykorzystać, i np. jeśli chcesz, aby odznaka wyświetlała się, gdy użytkownik posiada grupę 3 (domyślnie Użytkownicy) to dodaj obrazek na serwer o nazwie trofeum-1.png i wtedy w szablonie dodaj ten kod powyżej i wyświetlanie obrazka za pomocą tagu HTML img: {{if $member->inGroup(1)}} <img src='http://twoje-forum.pl/trofea/trofeum-1.png' alt=''> {{endif}} PS: Można też skorzystać z pętli foreach, ale zbyt zmęczony jestem i poleciałem na łatwiznę 😄 PS2: Pisane na szybko, da się to zrobić lepiej 😉
×
×
  • Create New...

Important Information

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.