Ceon URI Mapping!!!!!!!

Zen Cart的安装、设置、升级讨论和使用技巧交流

版主: shaning

Ceon URI Mapping!!!!!!!

帖子d030433 » 2010-12-17 19:28

有谁用过Ceon URI Mapping这个插件的,谁知道怎么让它自动批量生成静态链接,网上查了一下说在admin/ceon_uri_mapping_config.php 代码的前部,require(‘includes/application_top.php’);之后增加一些代码就可以,可是我试了不行,谁能帮我解决一下,谢谢···以下是我按网上说的添加的代码
代码: 全选
function zen_get_categories_name($who_am_i,$languageid) {
global $db;
$the_categories_name_query= "select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id= '" . $who_am_i . "' and language_id= '" . $languageid . "'";
$the_categories_name = $db->Execute($the_categories_name_query);
return $the_categories_name->fields['categories_name'];
}
if(defined(CEON_URI_MAPPING_ENABLED) && CEON_URI_MAPPING_ENABLED=='1') {
$languages = zen_get_languages();
$sql="delete from ".TABLE_CEON_URI_MAPPINGS." where main_page='index' and associated_db_id not in (select categories_id from ".TABLE_CATEGORIES.")";
$db->Execute($sql);
$sql="select categories_id from ".TABLE_CATEGORIES." where categories_id not in (select associated_db_id from ".TABLE_CEON_URI_MAPPINGS." where main_page='index') and categories_status=1";
$category_products = $db->Execute($sql);
while (!$category_products->EOF) {
// BEGIN CEON URI MAPPING 1 of 3
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$uri_mapping = ceon_uri_mapping_autogen_category_or_product_uri($category_products->fields['categories_id'], 'category',
null, zen_get_categories_name($category_products->fields['categories_id'],$languages[$i]['id']),
$languages[$i]['code'], $languages[$i]['id']);
if (strlen($uri_mapping) > 1) {
// Make sure URI mapping is relative to root of site and does not have more than one
// trailing slash or any illegal characters
$uri_mapping = ceon_uri_mapping_cleanup_uri_mapping($uri_mapping);
}
$sql_data_array = array(
'uri' => zen_db_prepare_input($uri_mapping),
'language_id' => (int) $languages[$i]['id'],
'current_uri' => 1,
'main_page' => FILENAME_DEFAULT,
'associated_db_id' => (int) $category_products->fields['categories_id'],
'date_added' => date('Y-m-d H:i:s')
);
zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);
}
$category_products->MoveNext();
}
$languages = zen_get_languages();
$sql= "delete from ".TABLE_CEON_URI_MAPPINGS." where main_page<>'index' and main_page<>'page' and associated_db_id not in (select products_id from ".TABLE_PRODUCTS.")";
$db->Execute($sql);
$sql="select products_id from ".TABLE_PRODUCTS." where products_id not in (select associated_db_id from ".TABLE_CEON_URI_MAPPINGS." where main_page<>'index' and main_page<>'page') and products_status=1";
$products_list = $db->Execute($sql);
// BEGIN CEON URI MAPPING 1 of 1
while (!$products_list->EOF) {
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$uri_mapping = $uri_mapping = ceon_uri_mapping_autogen_category_or_product_uri(
$products_list->fields['products_id'], 'product', null, null, $languages[$i]['code'],
$languages[$i]['id']);
if (strlen($uri_mapping) > 1) {
// Make sure URI mapping is relative to root of site and does not have more than one
// trailing slash or any illegal characters
$uri_mapping = ceon_uri_mapping_cleanup_uri_mapping($uri_mapping);
}
$product_type = zen_get_products_type($products_list->fields['products_id']);
// Add the new URI mapping
$insert_sql_data = array(
'main_page' => $zc_products->get_handler($product_type) . '_info',
'associated_db_id' => (int) $products_list->fields['products_id'],
'language_id' => (int) $languages[$i]['id'],
'uri'=>zen_db_prepare_input($uri_mapping),
'current_uri' => 1
);
$sql_data_array = $insert_sql_data;
zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);
// Avoid possibility of old duplicate URI mappings for the same product
ceon_uri_mapping_remove_product_mapping_duplicates($uri_mapping, $products_list->fields['products_id']);
// Now add the URI mappings for the review pages/tell-a-friend page for this product
if (substr($uri_mapping, -1) != '/') {
$uri_mapping .= '/';
}
$sql_data_array['uri'] = zen_db_prepare_input($uri_mapping . CEON_URI_MAPPING_URI_PART_PRODUCT_REVIEWS);
$sql_data_array['main_page'] = zen_db_prepare_input(FILENAME_PRODUCT_REVIEWS);
zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);

$sql_data_array['uri'] = zen_db_prepare_input($uri_mapping .

CEON_URI_MAPPING_URI_PART_PRODUCT_REVIEWS_INFO);

$sql_data_array['main_page'] =

zen_db_prepare_input(FILENAME_PRODUCT_REVIEWS_INFO);

zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);

$sql_data_array['uri'] = zen_db_prepare_input($uri_mapping .

CEON_URI_MAPPING_URI_PART_PRODUCT_REVIEWS_WRITE);

$sql_data_array['main_page'] =

zen_db_prepare_input(FILENAME_PRODUCT_REVIEWS_WRITE);
zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);

$sql_data_array['uri'] = zen_db_prepare_input($uri_mapping .

CEON_URI_MAPPING_URI_PART_TELL_A_FRIEND);

$sql_data_array['main_page'] =

zen_db_prepare_input(FILENAME_TELL_A_FRIEND);

zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);
}

$products_list->MoveNext();

}

$sql="delete from ".TABLE_CEON_URI_MAPPINGS." where main_page='page' and associated_db_id not in (select pages_id from ".TABLE_EZPAGES_TEXT.")";

$db->Execute($sql);

$languages = zen_get_languages();

for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$sql="select pages_title,pages_id from ".TABLE_EZPAGES_TEXT." where pages_id not in (select associated_db_id from ".TABLE_CEON_URI_MAPPINGS." where main_page='page') and languages_id=".$languages[$i]['id'];

$ezpage_linkdata = $db->Execute($sql);

while (!$ezpage_linkdata->EOF) {

$uri_mapping = ceon_uri_mapping_autogen_ez_page_uri(null, $ezpage_linkdata->fields['pages_title'],$languages[$i]['code'], $languages[$i]['id']);

if (strlen($uri_mapping) > 1) {

// Make sure URI mapping is relative to root of site and does not have more than one

// trailing slash or any illegal characters
$uri_mapping = ceon_uri_mapping_cleanup_uri_mapping($uri_mapping);

}

$sql_data_array = array(

'uri' => zen_db_prepare_input($uri_mapping),

'language_id' => (int) $languages[$i]['id'],

'current_uri' => 1,

'main_page' => FILENAME_EZPAGES,

'associated_db_id' => (int) $ezpage_linkdata->fields['pages_id'],

'date_added' => date('Y-m-d H:i:s')
);

zen_db_perform(TABLE_CEON_URI_MAPPINGS, $sql_data_array);

$ezpage_linkdata->MoveNext();

}

}

}
d030433
新手上路
新手上路
 
帖子: 19
注册: 2010-09-07 16:39
QQ 帐号: 362153856

Re: Ceon URI Mapping!!!!!!!

帖子city » 2012-05-08 9:48

网上的这个方法不行。看贴:http://www.zen-cart.cn/forum/topic216923.html
头像
city
中级会员
中级会员
 
帖子: 55
注册: 2011-02-25 19:34
QQ 帐号: 1693152885


  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 安装设置



在线用户

正在浏览此版面的用户:没有注册用户 和 6 位游客