Epesi ENS | Epesi Academy | epesi.cloud PaaS | GitHub

Help Me! | Download from SourceForge Download Epesi BIM Free & Open Source CRM


  • PL
  • Wyszukiwanie stałej wartości przy pomocy funkcji QFfileld

Witam serdecznie, bardzo proszę o podpowiedź. Funkcja standardowo wygląda tak:

public static function QFfield_nazwa(&$form, $field, $label, $mode, $default, $desc) {
$param = explode('::',$desc['param']['array_id']);
foreach ($param as $k=>$v) if ($k!==0) $param[$k] = strtolower(str_replace(' ','_',$v));
$form->addElement('commondata', $field, $label, $param, array('empty_option'=>true), array('id'=>$field));
if ($mode!=='add') $form->setDefaults(array($field=>$default));

Potrzebowałbym w danym 'wyszukaniu' na stałe przypisać jeden wybór z całej dostępnej tablicy podając mu do wyboru np. setDefaults(array($field=>$nazwaKluczaZTablicy)). Niestety nie działa :/

Dodatkowe pytanie do tej kwestii. Funkcja QFfield wręcz wymusza, aby dane pole istniało. Pytanie jak zdefiniować parametry tej funkcji, żeby pominąć jeden wybór z tablicy i przejść do kolejnej. Przykład - tak jest teraz:
Tablica1/Tablica2/Tablica3 (w każdej jest co najmniej kilka wartości) - trzy różne wybory, z każdego można wybrać dowolną wartość. Potrzebuję mieć dwa wybory a jeden przypisać na stałe: Tablica1/'idTabica2_nr3'=>'wartoscIdTablica2_nr3'/Tablica3.

Z góry dziękuje za podpowiedź.
Sylwek

a month later

setDefaults(array($field=>$nazwaKluczaZTablicy)) - tutaj przypisuje Pan do wartości domyślnej klucz. Jeśli chce Pan odwołać się do wartości trzeba wskazać tablicę i klucz.

$form->setDefaults([$field => $param($klucz)]);

Co do drugiej części, można dodać do pętli zmienną, która zatrzyma żądaną wartość (określić warunek). I zrobić pętlę w pętli lub switcha (druga opcja będzie korzystniejsza wydajnościowo). Następnie przypisać wartość, np.

foreach ($param as $k => $v) {
switch ($k) {
case 0:
.....
etc.
}}
lub

foreach ($param as $k => $v) {
case 0:
.....
etc.
}}

Pozdrawiam
MZ

Write a Reply...