PDA

Zobacz pełną wersję : RS Form + SalesForce [j! 2.5]



vereb
17-03-2014, 22:30
Cześć,
potrzebuje pomocy - mimo zainstalowania plugina i włączenia integracji formularza RsForm z SalesForce oraz odpowiedniego przygotowania zaplecza w SalesForce dane z formularza nie przechodzą do systemu SalesForce. Już nie mam pomysłu - wg tutków powinno działać od strzału. Wie ktoś coś może na temat jakiegoś bug'a lub innej cholery od strony RSForm?

Pozdrawiam

vereb
18-03-2014, 00:42
Tradycja :) odpowiem sam sobie - ale dalej potrzebuje pomocy - widzę że przy listach wybieranych identyfikator ma na końcu "[]" co uniemożliwia jego rozpoznanie przez system SalesForce - nie wiecie może czy da się to jakoś obejść? Może SalesForce ma mozliwość ucięcia ostatnich dwóch znaków z identyfikatora?

vereb
18-03-2014, 21:52
Problem wygląda na rozwiązany :) ale nie mam pewności czy ta wydawałoby się kosmetyczna zmiana nie pociągnie za sobą problemów z innymi polami niż input i select (jeśli ktoś wie czym grozi usunięcie "[]" opisywane poniżej to bardzo proszę o informację).

Salesforce potrzebuje do integracji odpowiedniego pola z identyfikatorem - po tym polu rozpoznaje do jakiego pola wpływają dane.

RS FORM podczas generowania formularza czasem (przy niektórych polach, np. select) dodaje do name "[]" - name wygląda wtedy tak: name="[identyfikator][]" takiej nazwy nie ma w systemie salesforce więc system tego nie przyjmie i dane nie przejdą.

Co zrobiłem?
Znalazłem skrypt, w którym tworzony jest formularz i usunąłem "[]" z miejsca generowania listy rozwijanej.

Plik:
administrator\components\com_rsform\helpers\rsform .php linijka: 5500 (około)

Zmiana:

z tego:


$out .= '<select '.($data['MULTIPLE']=='YES' ? 'multiple="multiple"' : '').' name="form['.$data

['NAME'].'][]" '.((int) $data['SIZE'] > 0 ? 'size="'.(int) $data['SIZE'].'"' : '').' id="'.$data

['NAME'].'" '.$data['ADDITIONALATTRIBUTES'].' >';


na to:


$out .= '<select '.($data['MULTIPLE']=='YES' ? 'multiple="multiple"' :

'').' name="form['.$data['NAME'].']" '.((int) $data['SIZE'] > 0 ? 'size="'.(int) $data['SIZE'].'"' :

'').' id="'.$data['NAME'].'" '.$data['ADDITIONALATTRIBUTES'].' >';

Może komuś się przyda :)