Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Problem z plikiem .tpl przy tworzeniu szablonu allegro
umnierazniej
post 8.05.2018, 08:18:18
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"?
Go to the top of the page
+Quote Post
nospor
post 8.05.2018, 08:40:34
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

Go to the top of the page
+Quote Post
umnierazniej
post 9.05.2018, 11:37:33
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.05.2018

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 8.05.2018, 09:40:34 ) *
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
Go to the top of the page
+Quote Post
Pyton_000
post 9.05.2018, 12:18:32
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
Go to the top of the page
+Quote Post
umnierazniej
post 9.05.2018, 13:10:28
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.05.2018

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 9.05.2018, 13:18:32 ) *
Weź człowiecze sformatuj tego posta z kodem jak trzeba


To weź i pokaż jak to mam zrobić, a jeszcze lepiej jak byś pomógł w rozwiązaniu tego banalnego dla Ciebie problemu.
Go to the top of the page
+Quote Post
nospor
post 10.05.2018, 09:28:50
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

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 11:00