![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
postaram się jak najlepiej opisać co chcę osiągnąć. Poniżej jak to jest teraz:
A potem wywołuję to tak i w ten sposób tworze formularz html:
No i jest ok i to działa. Teraz wywołując $this->getRecomendationWOL otrzymuję
A to co chciałbym uzyskać to możliwość wywołania osobno danych dla Grupy 1 / Grupy 2 / Grupy 3
Dziękuję za informacje jak to osiągnąć i za wyrozumiałość. Domyślam się że muszę zmodyfikować: return $recomend; na coś w stylu: public function getValues() { return array ( 'group1' => $this->recomend[1][], 'group2' => $this->recomend[2][], 'group3' => $this->recomend[3][] ); } No ale nie potrafię sobie sam z tym poradzić... Dziękuję jak zawsze za wyrozumiałość. Temat do zamknięcia wystarczyło dane w tablicy zapisać jako
a potem wywołać funkcje poprzez
Ten post edytował pela222 26.03.2021, 13:42:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie
$recomend[group1][] a $recomend['group1'][] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ok to jeszcze jedno pytanie:
Tak jak wyżej mam to teraz. Po zmianach wykonanych wczoraj Jeśli mam wybrane dwa produkty tego samego rodzaju to dla każdego z tych produktu generuje mi formularz w tych sekcjach multiText, multiText1, multiText2. Czyli mam w sekcji multiText w tablicy (opis pierwszego , potem drugiego) w sekcji multiText1 (opis pierwszegom. potem drugiego) A jak to zrobić żeby $this->group5 było generowane dla każdej z polis tak abym otrzymał $this->group $var $this->group $var2 ... gdzie var to kolejny produkt z tablicy polis. Jeśli opis nie jest czytelny mogę wrzycić tablice jakie mam ... nie chciałem zaśmiecać dlatego opisałem...Mam nadzieję że czytelnie. Ps1. Jeśli mogę prosić o wskazówki to było by super. Pozdrawiam. ===EDIT 01/04/2021 === PS2 - Nie chcę zakładać nowego wątku, choć może powinienem. ... temat jest oznaczony jako rozwiązany. Nie mniej... Podaję bardziej obszerny fragment kodu i znów liczę na wskazówki...Bo to chyba muszę ogarnąć jakąś funkcją bo pętlą nie zmierzam nigdzie...
//throw new Exception('<pre>'.print_r($policieType,1).'</pre>'); //Otrzymuje
Nie chcę dodatkowo zamętlać, ale nie rozumiem dlaczego są utworzone puste zmienne ect a potem w funkcji trzeba oczywiście uzyskać dostęp do nich przez $this->group ... Czy to jest kwestia dobrej praktyki? Bo wszystko też mi działa jak usunę te zmienne private i w funkcji będę je tworzył jako $group1, $group2 ect.. No i tak jak już pytałem wcześniej, chicałbym, aby ten fragment kodu generował się dla każdej polisy typu TerLifIns ... Czyli żeby $this->group5_1 a dla kolejnej $this->group5_2 ect...
===EDIT 06/04/2021 === Czy brak sugestii oznaczą, że moje pytanie: a) jest zbyt trywialne? b) jest zbyt zawiłe, a odpowiedź skomplikowana (wymaga obszernej modyfikacji kodu)? c) zostało zadane nieprawidłowo? d) nieprawidłowo kontynuuję post, w którym zaznaczyłem już "Pomógł" i powinienem otworzyć nowy temat? Ten post edytował pela222 6.04.2021, 09:57:52 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja nie kumam o co pytasz. Jakos to skomplikowane do zrozumienia (IMG:style_emoticons/default/wink.gif)
Po co w ogole tworzysz prywaten group1...group5? Czemu nie zrobisz z tego tablicy wielowymiarowej? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Nie jestem autorem tego kodu, a jedynie modyfikuję go pod swoje potrzeby.
Zadałem gdzieś tam wcześniej pytanie: dlaczego w ogóle są utworzone te zmienne private? Jak jest tego sens? Czy to wynika z dobrych praktyk? Inne powody? Bo jak usunę te zmienne private i zamienię ) wewnątrz
to wszytko działa tak samo... Co do twojej sugestii / podpowiedzi o utworzeniu tych zmiennych w tablicy wielowymiarowej ...to daj mi czas na przetrawienie, bo na razie nie wiem co masz na myśli ..To znaczy wiem co to tablica wielowymiarowa, ale nie wiem jak to się ma, do rozwiązania mojego problemu... Ten post edytował pela222 6.04.2021, 13:24:03 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mi nie chodzilo stricte o zmienne prywatne, tylko czemu masz 5 zmiennych group1, group2.... group5
Czemu poprostu nie zrobisz z tego tablicy? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ na podstawie tak stworzonej tablicy ze zmiennymi group tworze dynamicznie formularz html
Screen shot formularza html i każda z zakładek HTML po lewej na tym screenshot (element listy nienumerowanej <li>) odpowiada kolejnej zmiennej group. Czyli mam powiedzmy: group1 -> "Wprowadzenie" group2 -> "Potrzeby i Cele" ... group5 -> "Term life + Mortgage" group6 -> "Personal Accident" group7 -> "Whole of Life" ... A chciałbym, że jak mam więcej niż jedną polisę o typie Term Life + Mortgage" to żeby dla każdej było group51, group52 ect Teraz iteruje mi po tych "wiecej niż jednej", ale wszystko jest w ramach group5 ... co Powoduje że dostaje tablicę w innej formie niż chcę. Czyli jeśli mam 2 polisy o typie Term Life to generuje w ramach group5
Tak że w ramach: group5 mam teraz: common4->elements->multiText->partitions mam opis nr1 dla kolejnych polis (jednej, dwóch lub więcej) common4->elements->multiText1->partitions mam opis nr2 dla kolejnych polis (jednej, dwóch lub więcej) common4->elements->multiText2->partitions mam opis nr3 dla kolejnych polis (jednej, dwóch lub więcej). A chciałbym, aby to iterowanie odbywało się na poziomie zmiennej group Czyli, abym otrzymywał: group5_1 common4->elements->multiText->partitions mam opis nr1 dla pierwszej polisy common4->elements->multiText1->partitions mam opis nr2 dla pierwszej polisy common4->elements->multiText2->partitions mam opis nr3 dla pierwszej polisy group5_2 common4->elements->multiText->partitions mam opis nr1 dla kolejnej polisy common4->elements->multiText1->partitions mam opis nr2 dla kolejnej polisy common4->elements->multiText2->partitions mam opis nr3 dla kolejnej polisy ... I dzięki temu powstanie mi kilka sekcji HTML (dla każdej polisy Life Term + Mortgage osobno). Chiałbym uniknąć tworzenia kolejnego poziomy tablicy dla group5 array () bo znów będą jakieś kombinacje alpejskie przy validacji html z tej tablicy Czyli tutaj:
Ten post edytował pela222 6.04.2021, 14:35:15 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dlatego ci mowie zrob z tego tablice z grupami. Latwiej sie lata po takiej tablicy niz po pieciu zmiennych. Tablica jest uniwersalna, zmienne nie. Jak ci dojdze group6 kiedys, to w tablicy bez problemu to obsluzysz
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że teraz to pewnie załamiesz ręce ale mam stworzone na końcu tablice z grupami dla tej public function __construct(DocumentData $documentData = null)
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hehe, no zalamalem (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
No się pośmialiśmy z mojego dyletanctwa i braku wiedzy oraz doświadczenia (IMG:style_emoticons/default/facepalmxd.gif) ,ale tak to wygląda jak wrzucisz amatora w obszerny kawałek kodu ... a tak jast ze mną i moim trudnym przypadkiem (IMG:style_emoticons/default/smile.gif)
Natomiast wracając do twojej sugestii: Cytat "zrob z tego tablice z grupami" to liczę na pomocne koło ... taki "telefon do przyjaciela" w ramach mocno naciąganej wyrozumiałości. Ten post edytował pela222 6.04.2021, 16:47:31 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie. Caly czas ci mowie: Nie tysiac zmiennych dla group, bez roznicy czy private czy nie private, a JEDNA tablica z grupami.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli o to chodziło to nie rozumiem co to wnosi...
Kiedyś tak to miałem (plik oryginalny przed moimi modyfikacjami). Poprzez stworzenie wielu zmiennych group i łącznie tych tablic w jeden array dostawałem taką samą tablice jak przy jednej tablicy z grupami a dodatkowo miałem możliwość dodania warunków if dla różnych typów polis (if ($type == 'TerLifIns' || $type == 'MorIns') ...teraz nie mogę / nie potrafię tego zrobić. Czyli że dana <li> w HTML generowało mi tylko jeśli istniał dany typ polisy. Jeśli jest to jako jedna tablica to nie mam warunków if to dostaje błąd jeśli dany typ nie istnieje. Wcześniej było to rozwiązane poprzez:
No a teraz jeśli klient nie ma polisy o typie WOL to dostaje błąd dla zmiennej $common7. Przy rozbiciu na wiele zmiennych group rozwiązywałem to jak wyżej i dostawałem w html <li> dla common7 "Rekomendacja Whole of Life" dla tej grupy ($group7). Ten post edytował pela222 6.04.2021, 17:49:22 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ano to wnosi, ze jest latwiejsze do pracy (IMG:style_emoticons/default/wink.gif)
Nie rozumiem twojego problemu z IF. Co ma piernik do wiatraka? ps: no i w twojej nowej tablicy nie widze nigdzie indeksow group1, group2... etc. moze temu ci nie dziala (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Spróbuję wytłumaczyć lepiej cały workflow.
Na podstawie tego:
Tak wygląda utworzona tablica gdy kontakt nie ma polisy Multi Claim:
Na podstawie tej tablicy generuje się formularz HTML. Struktura tej tablicy musi spełniać kryteria validacji aby wygenerował się formularz (IMG:style_emoticons/default/smile.gif) Zmienna [type] określa czy to jest pole <textarea> czy może <input> czy <input> z checkbox ect. Zmienna [partitions] dla typu testMultiList (używanego tutaj) np. musi być tablicą z jedną lub dwoma zmiennymi. Czyli musi być tak:
albo
Przy czym akurat tutaj zawsze jest to ten pierwszy przypadek. Po usunięciu group1, group2 nie ma już tyż if dla nich. Więc jesli klient nie posiada polisy np. Multi Claim (jak wyżej) to tablica generuje się tak, że [partitions] array nie ma elementówi, nie spełnia walidacji, wiec wywala błąd (funkcja getRecomendationMCPC($documentData) nic nie zwraca - zresztą prawidłowo) Tak jak pisałem porobiłem sobie te group1, group2 dla poszczególnych sekcji, dodałem if i dzięki temu jak klient nie miał danej polisy to ta zmienna nie generowała się w tablicy i generator html nie miał błędu i generował formularz bez tej sekcji. Dla ciebie łątwiej jest latać po tak zbudowanej tablicy, a ja nie wiem jak zrobić żeby np. [common8] (np. odpowiadające typowi polisy Multi Claim) nie było umieszczone w tej tablicy jeśli Polisa Multi Claim nie występuje dla tego kontaktu. (co wcześniej załatwiałem poprzez ten if). No ale koniec końców wracając do meritum ... cały czas nie potrafię zrobić iteracji jeśli jest kilka polis jednego typu...co przy takim zapisie realizowało by sie przez tworzenie kolejnego common4_1 (czy jak byśmy to nazwali nie ma znaczenia) .. w każdym razie kolejne common jeśli liczba polis o typie np. Term Life jest wiecej niż 1. Ten post edytował pela222 7.04.2021, 13:10:38 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
można tak dodać do tablicy w zależności od warunku WOL:
Kod $this->groups = array ( 'common1' => array ( 'name' => '1. Wprowadzenie', 'elements'=> array ( 'multiText' => array( 'type' => 'textMulti', 'label' => 'Wprowadzenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getIntroData($documentData) ), ), ), 'textMultiList' => array ( 'name' => '2. Potrzeby i cele', 'elements'=> array ( 'needs' => array( 'type' => 'textMultiList', 'label' => 'Poszukujecie/Poszukujesz ubezpieczenia, które', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getNeedsData($documentData) ), ), ), ); if($type == 'WOL') { $wol = array ( 'common7' => array ( 'name' => '? Rekomendacja Whole of Life', 'elements'=> array ( 'multiText' => array( 'type' => 'textMultiList', 'label' => 'Na podstawie otrzymanych informacji, zalecam Wam / Tobie ubezpieczenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationWOL($documentData)[1] ), 'multiText1' => array( 'type' => 'textMultiList', 'label' => 'Dodatkowo omówiono i zaproponowano następujące cechy i elementy:', 'optional' => true ), 'multiText2' => array( 'type' => 'textMultiList', 'label' => 'Opis Ubezpieczyciela', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationWOL($documentData)[3] ), ), ), ); $groups = array_merge($groups, $wol); }; itd... ups... oczywiście Kod $this->groups = array_merge($this->groups, $wol); |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
No tak można bo tak to miałem ... co prawda miałem troche bez sensu dla każdej "sekcji" ale tak to było zrobione.
@nospor zasugerował, żeby się tego pozbyć, bo "łatwiej" jest pracować na tablicy bez tych grup ... No ale nie wiem jak jest łatwiej i jak to łatwiej realizować. No i cały czas pozostaje temat podstawowy (od którego zacząłem pytanie), czyli jak iterować, jeśli jest wiecej niż jedna polisa danego typu, aby tworzyły się kolejne common. Czyli jeśli są dwie polisy WOL to tworzą się w tablicy: common7_1 array() common7_2 array(). Co będzie skutkowało utworzeniem dwóch <li> w formularzu html (dla każdej z tych polis osobno). Ten post edytował pela222 8.04.2021, 09:49:55 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat @nospor Mi nie chodzilo stricte o zmienne prywatne, tylko czemu masz 5 zmiennych group1, group2.... group5 Czemu poprostu nie zrobisz z tego tablicy? O to mu chodziło, co napisał. Jedna tablica wielowymiarowa zamiast kilku(nastu) zmiennych group |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ale wcześniej też tworzyłem jedną tablicę wielowymiarową.
No i napisał że załamuje ręce i że nie o takie sumowanie tablic mu chodzi. Fakt, że bez sensu była ilość tych zmiennych i wystarczy stworzyć je dla typów polis (bo całą pierwsze część tabeli tego nie potrzebuje), ale było tak jak ty teraz sugerujesz... Fakt, że te zmienne nie muszą być private (No, ale tu też nospor pisał że nii chodzi o to czy są private czy nie private) Dlatego myślałem że nospor sugerował jakieś inne "lepsze" "łatwiejsze" jak to pisał rozwiązanie. Ten post edytował pela222 8.04.2021, 10:33:59 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak sam napisałeś
Cytat Kiedyś tak to miałem (plik oryginalny przed moimi modyfikacjami). Poprzez stworzenie wielu zmiennych group i łącznie tych tablic w jeden array dostawałem taką samą tablice jak przy jednej tablicy z grupami a dodatkowo miałem możliwość dodania warunków if dla różnych typów polis (if ($type == 'TerLifIns' || $type == 'MorIns') ...teraz nie mogę / nie potrafię tego zrobić. Czyli że dana <li> w HTML generowało mi tylko jeśli istniał dany typ polisy. Więc pytanie było po co tyle zmiennych, jak można od razu zbudować tablice wielowymiarową, tylko po to, aby później zrobić z tego taka tablicę? Bez sensu. Cytat dodatkowo miałem możliwość dodania warunków if dla różnych typów polis (if ($type == 'TerLifIns' || $type == 'MorIns') ...teraz nie mogę / nie potrafię tego zrobić Jak to zrobić w tablicy wielowymiarowej napisałem jak można. |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
No to poza tym, że mam teraz w jednej zmiennej $intro kilka wcześniej rozbitych zmiennych group, to wylądowałem na tym samym co na początku... Poczekam na reakcję nospor ale obawiam się (IMG:style_emoticons/default/facepalmxd.gif) Ten post edytował pela222 8.04.2021, 12:32:38 |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po mojemu to tak:
Kod private $groups = array(); public function __construct(DocumentData $documentData = null) { if (!$documentData) { $documentData = new DocumentData(); } $this->groups= array ( 'common1' => array ( 'name' => '? Wprowadzenie', 'elements'=> array ( 'multiText' => array( 'type' => 'textMulti', 'label' => 'Wprowadzenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getIntroData($documentData) ), ), ), 'textMultiList' => array ( 'name' => '? Potrzeby i cele', 'elements'=> array ( 'needs' => array( 'type' => 'textMultiList', 'label' => 'Poszukujecie/Poszukujesz ubezpieczenia, które', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getNeedsData($documentData) ), ), ), 'common2' => array ( 'name' => '? Sytuacja Osobista', 'elements'=> array ( 'multiText' => array( 'type' => 'textMulti', 'label' => 'Osobista', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getPersonData($documentData) ), ), ), 'common3' => array ( 'name' => '? Sytuacja Finansowa', 'elements'=> array ( 'multiText' => array( 'type' => 'textMulti', 'label' => 'Finansowa', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getFinancialData($documentData, $additionalData) ), ), ), ); foreach ($documentData['policies'] as $type => $policieType) { foreach ($policieType as $policy) { // dla typu TerLifeIns if ($type == 'TerLifIns' || $type == 'MorIns') { $termlife = array ( 'common4' => array ( 'name' => '? Rekomendacja Life Term + Mortgage' .$count, 'elements'=> array ( 'multiText' => array( 'type' => 'textMultiList', 'label' => 'Na podstawie otrzymanych informacji, zalecam Wam / Tobie ubezpieczenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationTerLifInsData($documentData)[1] ), 'multiText1' => array( 'type' => 'textMultiList', 'label' => 'Dodatkowo omówiono i zaproponowano następujące cechy i elementy:', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationTerLifInsData($documentData)[2] ), 'multiText2' => array( 'type' => 'textMultiList', 'label' => 'Opis Ubezpieczyciela', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationTerLifInsData($documentData)[3] ), ), ), ); $this->groups = array_merge($this->groups, $termlife); } // dla Hive if ($type == 'PerAcc' || $type =='AccSicAndHos' || $type == 'MedCas') { $hive = array ( 'common6' => array ( 'name' => '? Rekomendacja Hive', 'elements'=> array ( 'multiText' => array( 'type' => 'textMultiList', 'label' => 'Na podstawie otrzymanych informacji, zalecam Wam / Tobie ubezpieczenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationHiveData($documentData)[1] ), 'multiText2' => array( 'type' => 'textMultiList', 'label' => 'Opis ubezpieczyciela', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationHiveData($documentData)[3] ), ), ), ); $this->groups = array_merge($this->groups, $hive); } // dla Whole of Life if ($type == 'WOL') { $wol = array ( 'common7' => array ( 'name' => '? Rekomendacja Whole of Life', 'elements'=> array ( 'multiText' => array( 'type' => 'textMultiList', 'label' => 'Na podstawie otrzymanych informacji, zalecam Wam / Tobie ubezpieczenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationWOL($documentData)[1] ), 'multiText1' => array( 'type' => 'textMultiList', 'label' => 'Dodatkowo omówiono i zaproponowano następujące cechy i elementy:', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationWOL($documentData)[2] ), 'multiText2' => array( 'type' => 'textMultiList', 'label' => 'Opis Ubezpieczyciela', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationWOL($documentData)[3] ), ), ), ); $this->groups = array_merge($this->groups, $wol); } // // dla MCPC if ($type == 'MulClaProCov') { $mcpc = array ( 'common8' => array ( 'name' => '? Rekomendacja Multi-claim', 'elements'=> array ( 'multiText' => array( 'type' => 'textMultiList', 'label' => 'Na podstawie otrzymanych informacji, zalecam Wam / Tobie ubezpieczenie', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationMCPC($documentData)[1] ), 'multiText1' => array( 'type' => 'textMultiList', 'label' => 'Dodatkowo omówiono i zaproponowano następujące cechy i elementy', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationMCPC($documentData)[2] ), 'multiText2' => array( 'type' => 'textMultiList', 'label' => 'Opis Ubezpieczyciela', 'optional' => true, // false -> bez checkbox 'partitions' => $this->getRecomendationMCPC($documentData)[3] ), ), ), ); $this->groups = array_merge($this->groups, $mpc); } } } } public function getGroups() { return $this->groups; } edit poprawka literówek :0 Ten post edytował gino 8.04.2021, 13:45:25 |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 17.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
No ma to sens zdecydowanie większy niż to co ja napłodziłem.
I pytanie (IMG:style_emoticons/default/smile.gif) ostateczne (IMG:style_emoticons/default/smile.gif) Jak iterować jeśli istnieje wiecej niż jedna polisa o tym samym typie. Czyli chodzi o to żeby uzyskać taką strukturę:
Na razie, żeby to osiągnąć to kombinuję w teń deseń:
dostaje zmienne common4_X równe ilości polis danego typu...Jeszcze to muszę przetrawić.. ====EDYCJA ==== Ok. Chyba ogarnąłem ... Nie wiem czy to jest prawidłowo i zgodnie ze "sztuką" ale działa ... po pierwszych testach. Jutro rano wrzucę kod i poproszę o ocenienie czy to nie jest karkołomne ... bo coś mi się wydaję że za dużo razy puszczam pętle ... No ale to już jutro. ===EDYCJA 09/04 14:45 === To jest ostateczna wersja kodu. Uzysłem funkcjonalność o jaką mi chodziło. Ale będę wdzięczny za krytyczne uwagi.
Aby skrócić trochę kod wyciąłem cześć i ograniczyłem się do jednego typu polisy. PS. Zostawiłem jeszcze wykomentowany fragment kodu, gdzie poprzez foreach iterowałem po tablicy z wszystkimi typami polis.
Tak jak wyżej. Dziękuję za podpowiedzi czy krytyczne słowa związane z możliwym usprawnieniem. Szczególnie dziękuje koledze @nospor oraz @gino. Ten post edytował pela222 8.04.2021, 20:42:48 |
|
|
![]()
Post
#24
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Strasznie ciezko sie czyta ten kod. Pewnie gino ogarnia to lepiej
Ale to co mi sieteraz rzuca w oczy to nie $count = count($policies); for($n=0; $n<$count; $n++){ a poprostu foreach ($policies as $n=> $policy) { |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 17:18 |