|
|
|
@ -700,7 +700,13 @@ class ContentController extends BaseController |
|
|
|
// 查询栏目
|
|
|
|
$Category = new Category(); |
|
|
|
$categories = $Category->getAllCustomArrayData(['seller_id'=>$this->admin['seller_id'],'website_id'=>$param['website_id'],'lang'=>$param['to']],'id asc','id,category_map')['data']; |
|
|
|
$categoryMap = array_combine(array_column($categories,'category_map'),array_column($categories,'id')); |
|
|
|
// 处理 categoryMap,检查重复的 category_map 值
|
|
|
|
$categoryMapData = array_column($categories, 'category_map'); |
|
|
|
$duplicateMaps = array_filter(array_count_values($categoryMapData), function($v) { return $v > 1; }); |
|
|
|
if (!empty($duplicateMaps)) { |
|
|
|
\think\facade\Log::warning('copyToOtherLang: 发现重复的 category_map 值: ' . implode(',', array_keys($duplicateMaps))); |
|
|
|
} |
|
|
|
$categoryMap = array_combine($categoryMapData, array_column($categories,'id')); |
|
|
|
// 查找模型
|
|
|
|
$Module = new Module(); |
|
|
|
$modules = $Module->getAllCustomArrayData(['seller_id'=>$this->admin['seller_id']],'id asc','id,table')['data']; |
|
|
|
@ -722,10 +728,10 @@ class ContentController extends BaseController |
|
|
|
$tempContent = []; |
|
|
|
foreach($content as $item){ |
|
|
|
$item['category_id'] = $categoryMap[$item['category_id']] ?? 0; |
|
|
|
$item['main_id'] = $mainIds[$item['main_id']]; |
|
|
|
$item['main_id'] = $mainIds[$item['main_id']] ?? 0; |
|
|
|
$item['lang'] = $param['to']; |
|
|
|
$item['sub_id_map'] = $item['id']; |
|
|
|
$subCategoryIds = explode(',',$item['sub_category_ids']); |
|
|
|
$subCategoryIds = !empty($item['sub_category_ids']) ? explode(',',$item['sub_category_ids']) : []; |
|
|
|
$subCategoryIds = array_map(function($v) use($categoryMap){ |
|
|
|
if(!empty($categoryMap[$v])){ |
|
|
|
return $categoryMap[$v]; |
|
|
|
@ -733,16 +739,32 @@ class ContentController extends BaseController |
|
|
|
return ''; |
|
|
|
} |
|
|
|
},$subCategoryIds); |
|
|
|
$item['sub_category_ids'] = implode(',',$subCategoryIds); |
|
|
|
$item['sub_category_ids'] = implode(',', array_filter($subCategoryIds)); |
|
|
|
unset($item['id']); |
|
|
|
// 时间字段转回时间戳(auto_timestamp 会将 int 转为日期字符串)
|
|
|
|
if(!empty($item['create_time']) && !is_numeric($item['create_time'])){ |
|
|
|
$item['create_time'] = strtotime($item['create_time']); |
|
|
|
} |
|
|
|
if(!empty($item['update_time']) && !is_numeric($item['update_time'])){ |
|
|
|
$item['update_time'] = strtotime($item['update_time']); |
|
|
|
} |
|
|
|
$tempContent[] = $item; |
|
|
|
} |
|
|
|
$res = Db::name('sub_content')->insertAll($tempContent); |
|
|
|
var_dump(123); |
|
|
|
$tmpMainContent = []; |
|
|
|
foreach($mainContent as $value){ |
|
|
|
$value['sub_id'] = $subIds[$value['sub_id']]; |
|
|
|
$value['sub_id'] = $subIds[$value['sub_id']] ?? 0; |
|
|
|
$value['lang'] = $param['to']; |
|
|
|
$value['lang_pid'] = $value['id'] ?? 0; |
|
|
|
unset($value['id']); |
|
|
|
// 时间字段转回时间戳
|
|
|
|
if(!empty($value['create_time']) && !is_numeric($value['create_time'])){ |
|
|
|
$value['create_time'] = strtotime($value['create_time']); |
|
|
|
} |
|
|
|
if(!empty($value['update_time']) && !is_numeric($value['update_time'])){ |
|
|
|
$value['update_time'] = strtotime($value['update_time']); |
|
|
|
} |
|
|
|
$tmpMainContent[] = $value; |
|
|
|
} |
|
|
|
$res2 = Db::name($module['table'])->insertAll($tmpMainContent); |
|
|
|
@ -751,7 +773,7 @@ class ContentController extends BaseController |
|
|
|
$tmpCategorySub = []; |
|
|
|
foreach($CateSub as $val){ |
|
|
|
$val['category_id'] = $categoryMap[$val['category_id']] ?? 0; |
|
|
|
$val['sub_content_id'] = $subIds[$val['sub_content_id']]; |
|
|
|
$val['sub_content_id'] = $subIds[$val['sub_content_id']] ?? 0; |
|
|
|
unset($val['id']); |
|
|
|
$tmpCategorySub[] = $val; |
|
|
|
} |
|
|
|
@ -766,6 +788,12 @@ class ContentController extends BaseController |
|
|
|
foreach($navCate as $v){ |
|
|
|
$v['lang'] = $param['to']; |
|
|
|
unset($v['id']); |
|
|
|
if(!empty($v['create_time']) && !is_numeric($v['create_time'])){ |
|
|
|
$v['create_time'] = strtotime($v['create_time']); |
|
|
|
} |
|
|
|
if(!empty($v['update_time']) && !is_numeric($v['update_time'])){ |
|
|
|
$v['update_time'] = strtotime($v['update_time']); |
|
|
|
} |
|
|
|
$tmpNavCate[] = $v; |
|
|
|
} |
|
|
|
$res4 = Db::name('nav_cate')->insertAll($tmpNavCate); |
|
|
|
@ -780,8 +808,14 @@ class ContentController extends BaseController |
|
|
|
$nav['lang'] = $param['to']; |
|
|
|
$nav['nav_cate_id'] = $navCateIdMap[$nav['nav_cate_id']] ?? 0; |
|
|
|
$nav['category_id'] = $categoryMap[$nav['category_id']] ?? 0; |
|
|
|
$nav['parent_id'] = $navMapIds[$nav['parent_id']]; |
|
|
|
$nav['parent_id'] = $navMapIds[$nav['parent_id']] ?? 0; |
|
|
|
unset($nav['id']); |
|
|
|
if(!empty($nav['create_time']) && !is_numeric($nav['create_time'])){ |
|
|
|
$nav['create_time'] = strtotime($nav['create_time']); |
|
|
|
} |
|
|
|
if(!empty($nav['update_time']) && !is_numeric($nav['update_time'])){ |
|
|
|
$nav['update_time'] = strtotime($nav['update_time']); |
|
|
|
} |
|
|
|
$tmpNav[] = $nav; |
|
|
|
} |
|
|
|
$res5 = Db::name('nav')->insertAll($tmpNav); |
|
|
|
|