![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.05.2018 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze skryptem który wysyła dane przez allegro webapi (kilka plików). Po wprowadzeniu nowych wymagań przez allegro skrypt do wystawiania aukcji przestał działać. Po zmianie szablonu działa tylko wtedy kiedy dane do opisu są zapisane na stałe (drugi przykład). Przy zastosowaniu zmiennej (tekst) nie działa mimo że ten opis jest "identyczny" w obu przypadkach. Poniżej jest szablon tpl który został sformatowany do nowych wymagań opisu i jest wysyłany z innymi danymi przy wystawianiu aukcji.
Plik *.tpl Nie działa *** "content": "<p>{$lato}</p>" ***: { "sections": [{ "items": [{ "type": "TEXT", "content": "<p>Canon 77D do jest najlepszy aparat w tej kategorii.</p>" }] },{ "items": [{ "type": "TEXT", "content": "<p>{$lato}</p>" }] }] } Tutaj jest kod z pliku Allegro.php który podmienia dane: $lato = str_replace(('{$lato}'),$description,file_get_contents($vals['template'])); // $description = htmlspecialchars($description); // echo $description; // echo htmlspecialchars($description); // echo addcslashes($description,'A..z'); $fields[] = array( 'fid' => 341, // Był 24 Opis 'fvalueString' => $lato, 'fvalueInt' => 0, 'fvalueFloat' => 0, 'fvalueImage' => 0, 'fvalueDatetime' => 0, 'fvalueDate' => '', 'fvalueRangeInt' => array( 'fvalueRangeIntMin' => 0, 'fvalueRangeIntMax' => 0), 'fvalueRangeFloat' => array( 'fvalueRangeFloatMin' => 0, 'fvalueRangeFloatMax' => 0), 'fvalueRangeDate' => array( 'fvalueRangeDateMin' => '', 'fvalueRangeDateMax' => '') ); Drugi przykład który działa Plik *.tpl Działa *** "content": "<p>To jest naprawde cudowny aparat dlugi</p>" ***: { "sections": [{ "items": [{ "type": "TEXT", "content": "<p>Canon 77D do jest najlepszy aparat w tej kategorii.</p>" }] },{ "items": [{ "type": "TEXT", "content": "<p>To jest naprawde cudowny aparat dlugi</p>" }] }] } Czy ktoś mam jakiś pomysł dlaczego jeden działa a drugi nie działa? Po sprawdzeniu używając "echo" wyglądają na "identyczne"? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Uzywaj bbcode dla wstawianych kodow na forum.
Ja tu widze powazny blad w twoim szablonie. Uzywasz w nim { } do wygenerowania json ale to sa przeciez znaki zastrzezone w smarty. Skoro ci to dziala, to pewnie przed tym dales dyrektywe ktora wylacza smartowe {}. Jesli tak, nic dziwnego ze {$lato} ci nie dziala skoro wlaczyles te dyrektywe. Musisz na czas wlozenia {$lato} wylaczyc spowrotem te dyrektywe. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.05.2018 Ostrzeżenie: (0%) ![]() ![]() |
Uzywaj bbcode dla wstawianych kodow na forum. Ja tu widze powazny blad w twoim szablonie. Uzywasz w nim { } do wygenerowania json ale to sa przeciez znaki zastrzezone w smarty. Skoro ci to dziala, to pewnie przed tym dales dyrektywe ktora wylacza smartowe {}. Jesli tak, nic dziwnego ze {$lato} ci nie dziala skoro wlaczyles te dyrektywe. Musisz na czas wlozenia {$lato} wylaczyc spowrotem te dyrektywe. Ok. teraz kod będę wklejał tam gdzie potrzeba... Co do dyrektyw to nic takiego nie właczam ani nie wyłączam. Poniżej jest częściowy "output" tego co jest wygenerowane przez skrypt i przy użyciu {$lato} wygląda identycznie tak jak ten gdzie ta wartość jest dodana w szablonie, a mimo to nie mogę wystawić przedmiotu. Próbowałem z {literal} i {$lato|@json_encode nofilter} ale też nie działa. Nie wiem co robić... (IMG:http://farm1.staticflickr.com/910/41948945032_7640544a3c_b.jpg) Do wygenerowania tego użyłem kodu (wpisany tekst do szablonu->działa i użycie {$lato}->nie dzała): Kod echo "FID\Opis";
foreach ( $fields as $var ) { echo "\n", $var['fid'], "\t\t", $var['fvalueString']; } Ten post edytował umnierazniej 9.05.2018, 11:50:57 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 09:43 |