na OC 1.4.9.5 mi to robi nieco taketo http://eshop.okstranka.sk/xml.php mam tam nahodene len zakladny balik s demo produktami.
Nerozimiem preco to medzi jednotlivymi <shop_itemami> pise toto>
Je to mozne koli tomu, ze nemam ver. 1.5 ? Mohli by ste mi pripadne dat nejake info ako to rozchodit na mojej verzii ?
Nerozimiem preco to medzi jednotlivymi <shop_itemami> pise toto>
Code: Select all
<br/>
<b>Notice</b>
: Undefined index: 36 in
<b>/data/o/k/okstranka.sk/sub/eshop/xml.php</b>
on line
<b>173</b>
<br/>
<br/>
<b>Notice</b>
: Undefined variable: curr_factor in
<b>/data/o/k/okstranka.sk/sub/eshop/xml.php</b>
on line
<b>184</b>
<br/>
<br/>
<b>Notice</b>
: Undefined variable: curr_factor in
<b>/data/o/k/okstranka.sk/sub/eshop/xml.php</b>
on line
<b>186</b>
<br/>
curr_factor je proměnná obsahující měnu, takže to vypadá, že nemáš dokončenou lokalizaci včetně všech návazností.vladis wrote:na OC 1.4.9.5 mi to robi nieco taketo http://eshop.okstranka.sk/xml.php mam tam nahodene len zakladny balik s demo produktami.
berushka .::: Hot Wheels Shop
Na 1.4.9.5 vám tato verze fungovat nebude, ale je tu někde i pro 1.4.9.x
Visit OpencartEx - Opencart extensions
Opencart rady a návody česky | Podpora Opencart
tak skusam verziu pre 1.5.x ... na 1.5.x mi generuje XML krasne, ked to nahodim na 1.4.9.5 ( co je moj ciel ) tak to hlasi undefined constant HTTP_SERVER
undefined constant HTTPS_IMAGE
Nebolo by mozne tieto "premenne" jednoducho prepisat priamo URL adresami v zdrojovom kode zbozicz_oc15.php ?
http://www.verodesign.sk/zbozicz_oc15.php
undefined constant HTTPS_IMAGE
Nebolo by mozne tieto "premenne" jednoducho prepisat priamo URL adresami v zdrojovom kode zbozicz_oc15.php ?
http://www.verodesign.sk/zbozicz_oc15.php
Code: Select all
<?php
/* debug
ini_set('error_reporting', 6143);
ini_set('display_errors', 1);
*/
class Product {
function description($product_description) {
$product_description = str_replace('&', '&', $product_description);
$product_description = htmlspecialchars(strip_tags(html_entity_decode($product_description, ENT_QUOTES, 'UTF-8')));
$product_description = str_replace(' ', '', $product_description);
/*$product_description = str_replace('&;', '&', $product_description);*/
if (strlen($product_description) > 508) {
$print_description = substr($product_description, 0, 508);
$pos = strrpos($print_description, ' ');
$print_description = substr($product_description, 0, $pos) . ' ...';
} else {
$print_description = $product_description;
}
return $print_description;
}
function name($product_name) {
$product_name = htmlspecialchars(strip_tags(html_entity_decode($product_name, ENT_QUOTES, 'UTF-8')));
if (strlen($product_name) > 60) {
$print_product_name = substr($product_name, 0, 60);
$pos = strrpos($print_product_name, ' ');
$print_product_name = substr($product_name, 0, $pos) . ' ...';
} else {
$print_product_name = $product_name;
}
return $print_product_name;
}
}
require_once("./config.php");
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_DATABASE . 'mysql.php');
$need_configs = array(
'config_url',
'config_ssl',
'config_customer_group_id',
'config_language'
);
// Config
$config = new Config();
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$setting_query = $db->query("SELECT * FROM " . DB_PREFIX . "setting s WHERE s.key IN('".implode("','",$need_configs)."')");
foreach ($setting_query->rows as $setting) {
$config->set($setting['key'], $setting['value']);
}
unset($setting_query);
$curr_factor = 1;
// Cache
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Content-Type: application/xml');
$items = new Product();
$url_query = $db->query("SELECT query,keyword FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id");
$urls = array();
foreach($url_query->rows as $url) {
$data = array();
parse_str($url['query'], $data);
if(key($data) == 'product_id') {
$urls[$data['product_id']] = $url['keyword'];
}
}
unset($url_query);
$datum = date("Y-m-d");
$SQL = "SELECT p.product_id,p.quantity,p.image,p.date_available,p.sku,pd.language_id,pd.name,pd.description,pd.meta_description,
tr.rate,tr.tax_class_id,p.stock_status_id,m.name AS manufacturer,
IF(ps.price,ps.price,p.price) AS price,cd.name AS categorytext,pc.category_id
FROM " . DB_PREFIX . "product p
LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id=pd.product_id)
LEFT JOIN " . DB_PREFIX . "product_to_category pc ON (p.product_id=pc.product_id)
LEFT JOIN " . DB_PREFIX . "category_description cd ON (pc.category_id=cd.category_id)
LEFT JOIN " . DB_PREFIX . "tax_rate tr ON (p.tax_class_id = tr.tax_class_id)
LEFT JOIN " . DB_PREFIX . "language l ON (l.language_id = pd.language_id )
LEFT JOIN " . DB_PREFIX . "manufacturer m ON (m.manufacturer_id = p.manufacturer_id )
LEFT JOIN (SELECT * FROM " . DB_PREFIX . "product_special WHERE (date_start = '0000-00-00' OR date_start <= '$datum') AND (date_end = '0000-00-00' OR date_end >= '$datum'))
ps ON (ps.product_id = p.product_id AND ps.customer_group_id=".$config->get('config_customer_group_id').")
WHERE p.quantity>0 AND l.code='".$config->get('config_language')."' AND p.status=1 GROUP BY p.product_id";
$head = "<?xml version=\"1.0\" encoding=\"utf-8\"?".">\r";
$head .= "<SHOP>\r";
echo $head;
$body = "";
$query_products = $db->query($SQL);
foreach ($query_products->rows as $product) {
$shopitem = "";
$shopitem .= "<SHOPITEM>\n";
$shopitem .= "<PRODUCTNAME>".trim($items->name($product['name']))."</PRODUCTNAME>\n";
$shopitem .= "<DESCRIPTION>".$items->description($product['description'])."</DESCRIPTION>";
$shopitem .= "<CATEGORYTEXT>".$product['categorytext']."</CATEGORYTEXT>";
if ($product['stock_status_id'] == 1 || $product['stock_status_id'] == 10) $shopitem .= "<DELIVERY_DATE>0</DELIVERY_DATE>";
if ($product['manufacturer']) {
$shopitem .= "<MANUFACTURER>".$product['manufacturer']."</MANUFACTURER>";
}
$shopitem .= "<URL>";
if(isset($urls[$product['product_id']]) && $urls[$product['product_id']]) {
$shopitem .= HTTP_SERVER . $urls[$product['product_id']];
} else {
$shopitem .= HTTP_SERVER . "index.php?route=product/product&product_id=". $product['product_id'];
}
$shopitem .= "</URL>";
if (!$product['image']==0) {
$shopitem .= "<IMGURL>". HTTPS_IMAGE . str_replace('%2F','/',rawurlencode($product['image']))."</IMGURL>";
}
//$shopitem .= "<FACTOR>" curr_factor() "</FACTOR>\n";
if (!$product['tax_class_id']==0) {
$shopitem .= "<PRICE>".round($product['price'] * $curr_factor, 2)."</PRICE>\n";
$shopitem .= "<VAT>".round($product['rate'], 3)."</VAT>\n";
$shopitem .= "<PRICE_VAT>".ceil($product['price'] * $curr_factor + (($product['price'] * $curr_factor) * $product['rate'] / 100))."</PRICE_VAT>\n";
} else {
$shopitem .= "<PRICE_VAT>".round($product['price'] * $curr_factor, 0)."</PRICE_VAT>";
}
$shopitem .= "</SHOPITEM>\n";
$body .= $shopitem;
echo $shopitem;
}
unset($query_products);
$footer = "</SHOP>\r";
echo $footer;
?>
1.5.1.3 má zcela přepsány daňové třídy, takže tato verze na ni nefunguje, dodělám.
Visit OpencartEx - Opencart extensions
Opencart rady a návody česky | Podpora Opencart
Vida, úplně jsem na to zapomněl. Zkuste tento, běží mi na jednom eshopu.
Visit OpencartEx - Opencart extensions
Opencart rady a návody česky | Podpora Opencart
Prosím, bylo by možné přidat podmínku, která by v případě vyskytujícího se textu "bazar" v názvu kategorie přidalo tento tag?
eshop se bude často aktualizovat a nemůžu k 20 produktům z 800 přidávat ručně tento tag.
Code: Select all
<ITEM_TYPE> bazaar </ITEM_TYPE>
Who is online
Users browsing this forum: No registered users and 3 guests