Jump to content

XML Položka "CATEGORYTEXT" (Heureka, apod.)


fbcskk2

Recommended Posts

Na zdejší diskusi jsem zachytil, že správný tvar by měl být:

'.implode('>',array_reverse($kategorie)).'
Leč tag zůstává bohužel prázdný. Jedná se o "cestu k produktu".

V čem může být problém?
Jak správně nadefinovat tag s pouhám názvem kategorie?

Díky.
Link to comment
Share on other sites

Hned na první pohled se mi nezdá ta proměnná $kategorie....

myslím že ti tam chybí něco takového

$kategorie=array();
$category = new Category(intval($row[‘id_category_default’]), intval(10));
while ($category->id <> 1) { $kategorie[]=$category ->hideCategoryPosition($category->name); $category = new Category(intval($category->id_parent), intval(10));
}

Link to comment
Share on other sites

Díky, když to tam prdnu, tak to hlásí "Chyba parsování XML .. (Číslo řádku 2, sloupec 7). Kód vypadá takto:

<?php
$shopUrl = 'http://www.fotbalovemice.cz'; // adresa shopu vcetne http://
include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'/init.php');
error_reporting(0);
$p=Product::getProducts(4, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod císlem 3
$products=Product::getProductsProperties(4, $p); // ceština je v databázi zapsaná pod císlem 3

header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="utf-8"?>
';

foreach ($products as $row) {

$kategorie=array();
$category = new Category(intval($row[‘id_category_default’]), intval(10));
while ($category->id <> 1) { $kategorie[]=$category ->hideCategoryPosition($category->name); $category = new Category(intval($category->id_parent), intval(10));
}

$img=Product::getCover($row['id_product']);
echo '

'.str_replace("&", "&", $row['name']).'
'.str_replace("&", "and", strip_tags($row['description_short'])).'
'.$row['link'].'
'.$shopUrl.'/img/p/'.$row['id_product'].'-'.$img['id_image'].'.jpg
'.($row['price']*1).'
'.str_replace("&", "&", $row['manufacturer_name']).'
'.implode('>',array_reverse($kategorie)).'
1
';
}
echo '';
?>


minulá verze, kde nefungovaly pouze ty kategorie pak vapadala takhle:

<?php
$shopUrl = 'http://www.fotbalovemice.cz'; // adresa shopu vcetne http://
include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'/init.php');
error_reporting(0);
$p=Product::getProducts(4, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod císlem 3
$products=Product::getProductsProperties(4, $p); // ceština je v databázi zapsaná pod císlem 3

header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="utf-8"?>
';

foreach ($products as $row) {

$kategorie=array();
$category = new Category(intval($row['id_category_default']), intval(10));
while ($category->id <> 1) {
$kategorie[]=$category->hideCategoryPosition($category->name);
$category = new Category(intval($category->id_parent), intval(10));
}

$img=Product::getCover($row['id_product']);
echo '

'.str_replace("&", "&", $row['name']).'
'.str_replace("&", "and", strip_tags($row['description_short'])).'
'.$row['link'].'
'.$shopUrl.'/img/p/'.$row['id_product'].'-'.$img['id_image'].'.jpg
'.($row['price']*1).'
'.str_replace("&", "&", $row['manufacturer_name']).'
'.implode('>',array_reverse($kategorie)).'
1
';
}
echo '';
?>


Můžeš sem hodit celý zdroj? Možná tomu vadí, že je to 1.3.1. , nevím..
Link to comment
Share on other sites

trošku jsem to ořezal, ale vypadá to funkčně... (verze 1.3)
vkládám jak php soubor tak i zdroják
když by to nešlo zkus přepsat řádky

include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'/init.php'); // cesta ke config souboru


na

include(dirname(__FILE__).'/../config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'../init.php'); // cesta ke config souboru



celý zdroják je


<?php

$shopUrl = 'http://vase domena.cz/';      // adresa shopu vcetne http://
include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'/init.php'); // cesta ke config souboru

error_reporting(0);
$p=Product::getProducts(3, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod císlem 3
$products=Product::getProductsProperties(3, $p); // ceština je v databázi zapsaná pod císlem 3

header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="utf-8"?>
';

foreach ($products as $row) {

$kategorie=array(); 
$category = new Category(intval($row['id_category_default']), intval(10));
while ($category->id <> 1) {
   $kategorie[]=$category->hideCategoryPosition($category->name);
   $category = new Category(intval($category->id_parent), intval(10));
}  

$img=Product::getCover($row['id_product']);
echo '

'.str_replace("&", "&", $row['name']).'
'.str_replace("&", "and", strip_tags($row['description_short'])).'
'.$row['link'].'
'.$shopUrl.'img/p/'.$row['id_product'].'-'.$img['id_image'].'.jpg
'.($row['price']*1).'
'.str_replace("&", "&", $row['manufacturer_name']).'
'.str_replace("&", "&", $row['category']).'
1
';
}
echo '';
?>

heureka.php

Link to comment
Share on other sites

Tak už jede, ovšem co je horší, přepisuje jen názvy friendly url, např. "treninkove-mice" a všude kde je nastaveno i home, tedy výpis na hlavní stránce (mimo kategorii), píše automaticky "home".. Chce to asi spíš slovní název kategorie, nebo to tak ti roboti chtějí?

Link to comment
Share on other sites

A co takhle
stačí nahoře přepsat adresu shopu a podle pspadu na řádku 34 v apostrofech napsat znak jakým se mají kategorie oddělovat teď je tam pomlčka '-'
Je to ta původní verze s implodem kde dělal bordel jazyk nastavenej na id 10 (řádky 18 a 21) po přenastavení na 3 mi šlape jak má
a když to nepujde tak zase připsat /.. do adresy ke config.inc.php

<?php

$shopUrl = 'http://vase domena.cz/';      // adresa shopu vcetne http://
include(dirname(__FILE__).'/config/config.inc.php'); // cesta ke config souboru
include(dirname(__FILE__).'/init.php'); // cesta ke config souboru

error_reporting(0);
$p=Product::getProducts(3, 0, 0, 'id_product', 'desc', false); // ceština je v databázi zapsaná pod císlem 3
$products=Product::getProductsProperties(3, $p); // ceština je v databázi zapsaná pod císlem 3

header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="utf-8"?>
';

foreach ($products as $row) {

$kategorie=array();
$category = new Category(intval($row['id_category_default']), intval(3));
while ($category->id <> 1) {
   $kategorie[]=$category->hideCategoryPosition($category->name);
   $category = new Category(intval($category->id_parent), intval(3));
} 


$img=Product::getCover($row['id_product']);
echo '

'.str_replace("&", "&", $row['name']).'
'.str_replace("&", "and", strip_tags($row['description_short'])).'
'.$row['link'].'
'.$shopUrl.'img/p/'.$row['id_product'].'-'.$img['id_image'].'.jpg
'.($row['price']*1).'
'.str_replace("&", "&", $row['manufacturer_name']).'
'.implode('-',array_reverse($kategorie)).'
1
';
}
echo '';
?>

heureka.php

Link to comment
Share on other sites

Díky, nedošlo mi, že řádky řádky 18 a 21 jsou taky jazyk, šlape to bezvadně. POZNÁMKA: Pokud se někomu u určitých položek nezobrazuje , je to dáno tím, že to musí být přímo nastaveno v admin nastavení konkrétního produktu ("Default category" u toho "pavouka" s kategoriemi - položka "home" se nezobrazuje).

Link to comment
Share on other sites

  • 2 months later...

Ahoj, mám prestu 1323 a mám problém smodulem Zboží 0.1

na heureku mi to generuje toto:




Erotické dárky, sexy dárky Čokoládové pokušení Kompletní katalog dárků Tipy na dárky pro ženy Originální dárky pro ženy


a ja bych potreboval toto:

1


Erotické dárky, sexy dárky > Čokoládové pokušení > Kompletní katalog dárků > Tipy na dárky pro ženy > Originální dárky pro ženy


To znamena přidat hodnotu delivery date 1 a oddělovat kategorie znakem >

Mohl by mi někdo pomoc? Díky
PS: prohledal jsem forum jako prvni, ale po asi 3 hodinach bezvyslenych pokusus pisu:(

Link to comment
Share on other sites

  • 6 months later...
  • 4 months later...

Ludia potrebujem radu. Vo feede mi automaticky nevyplna DESCRIPTION a CATEGORY. Mam Prestu 1.4 a skusil som uz kadeco mozne. Inak vsimol som si ze Description vyplna pri tych produktoch ktore boli v sablone ako priklady. Popisy ma vyplnene takze nechapem odkial te Description berie.

Link to comment
Share on other sites

  • 3 months later...

Zdar,

mam prestashop 1.4.2.5 a take resim problem jak dostat data do <CATEGORYTEXT>.

Pokud pouziju kod co jsem nasel tady na foru, tedy:

$kategorie=array();
$category = new Category($row['id_category_default']);
while ($category->id == 1) {
$kategorie[]=$category->hideCategoryPosition($category->name);
$category = new Category($category->id_parent);
...

<CATEGORYTEXT>'.implode('-',array_reverse($kategorie)).'</CATEGORYTEXT>

 

Dostanu jako vystup hodnotu "1", coz je id kategorie "Home", dal se nedostanu.

Netusite kde muze byt problem? Diky!

Link to comment
Share on other sites

$kategorie=array();
$category = new Category(intval($row['id_category_default']), intval(6));
while ($category->id <> 1) {
   $kategorie[]=$category->hideCategoryPosition($category->name);
   $category = new Category(intval($category->id_parent), intval(6));
}

 

6 je ID jazyka ve kterém exportuji, nic jinýho neměňte...

Link to comment
Share on other sites

Myslel jsem tim cely kod pro generovani xml, tohle

 

$kategorie=array();
$category = new Category(intval($row['id_category_default']), intval(6));
while ($category->id <> 1) {
$kategorie[]=$category->hideCategoryPosition($category->name);
$category = new Category(intval($category->id_parent), intval(6));
}

jsem zkousel a vysledek jsem popsal tady http://www.prestasho...post__p__721536

Zrejme budu mit chybu jinde. Diky.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...