![]() |
![]() ![]() |
![]() |
![]()
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 557 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. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
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ć... ![]() 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 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Weź człowiecze sformatuj tego posta z kodem jak trzeba
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.05.2018 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Powiem ci szczerze ze zaczynam sie gubic w tym co tu opisujesz....
Raz mowisz ze smarty i tpl, raz podajesz normalny kod php raz ze $lato a raz ze $lato->costam. Zrozum, my nie siedzimy przed twoim monitorem i nie widzimy tego co tam masz. A takie haotyczne wypowiedzi co udzielasz w niczym nie pomagaja Napisze jeszcze raz: jesli w szablonie .tpl bez problemu wstawiasz {} by wygenerowac json, znaczy ze masz gdzies dyrektywe literal wlaczona. Z tego tez powodu nie bedzie ci dzialac {$zmienna} Zas co do {$lato->costam} to z tego co pamietam to w smarty nei uzywa sie -> tylko kropek wiec {$lato.costam}. Ale dawno juz tego badziewia nie uzywalem i moge zle pamietac -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 11:00 |