Compare commits
4 Commits
349e53104d
...
dae2ba254e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dae2ba254e | ||
| cc81bc8525 | |||
| 37aed84d88 | |||
| 81e711b993 |
@@ -47,6 +47,12 @@ class DataMigration extends Command
|
|||||||
// 迁移产品
|
// 迁移产品
|
||||||
// $this->migrateProduct();
|
// $this->migrateProduct();
|
||||||
|
|
||||||
|
// $files = $this->getLocalImages('/var/www/html/orico-official-website/public/migrate_temp_images');
|
||||||
|
// print_r($files);
|
||||||
|
// foreach ($files as $file) {
|
||||||
|
// unlink($file);
|
||||||
|
// }
|
||||||
|
|
||||||
// 迁移产品关联产品数据
|
// 迁移产品关联产品数据
|
||||||
// $this->migrateProductRelated();
|
// $this->migrateProductRelated();
|
||||||
|
|
||||||
@@ -128,6 +134,31 @@ class DataMigration extends Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取本地图片
|
||||||
|
private function getLocalImages($path)
|
||||||
|
{
|
||||||
|
$files = [];
|
||||||
|
$dir = dir($path);
|
||||||
|
while (false !== ($entry = $dir->read())) {
|
||||||
|
if ($entry == '.' || $entry == '..') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$file = $path . '/' . $entry;
|
||||||
|
if (is_dir($file)) {
|
||||||
|
$files = array_merge($files, $this->getLocalImages($file));
|
||||||
|
} else {
|
||||||
|
$info = stat($file);
|
||||||
|
if ($info['size'] == 0) {
|
||||||
|
$files[] = $file;
|
||||||
|
}
|
||||||
|
// if (!is_valid_image($file)) {
|
||||||
|
// $files[] = $file;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $files;
|
||||||
|
}
|
||||||
|
|
||||||
// 迁移tco产品分类
|
// 迁移tco产品分类
|
||||||
private function productTcoCategory()
|
private function productTcoCategory()
|
||||||
{
|
{
|
||||||
@@ -266,7 +297,7 @@ class DataMigration extends Command
|
|||||||
|
|
||||||
$products = $old_db->name('product')
|
$products = $old_db->name('product')
|
||||||
->where('country_code', 'in', ['ZH', 'US'])
|
->where('country_code', 'in', ['ZH', 'US'])
|
||||||
->where('id', '>', 0)
|
->where('id', '>', 15789)
|
||||||
->order(['id' => 'asc'])
|
->order(['id' => 'asc'])
|
||||||
->cursor();
|
->cursor();
|
||||||
|
|
||||||
@@ -416,6 +447,7 @@ class DataMigration extends Command
|
|||||||
if ($k == 'Color') $k = '颜色';
|
if ($k == 'Color') $k = '颜色';
|
||||||
$attr_value = '/static/common/images/colors/' . $at . '.png';
|
$attr_value = '/static/common/images/colors/' . $at . '.png';
|
||||||
}
|
}
|
||||||
|
$images[$pkey]['color'] = $at;
|
||||||
$images[$pkey]['attrs'][] = [
|
$images[$pkey]['attrs'][] = [
|
||||||
'attr_id' => $attrs_map[$v['country_code']][$k],
|
'attr_id' => $attrs_map[$v['country_code']][$k],
|
||||||
'attr_value' => $attr_value,
|
'attr_value' => $attr_value,
|
||||||
@@ -458,7 +490,7 @@ class DataMigration extends Command
|
|||||||
|
|
||||||
$two_images = $old_db->name('product_two_img')
|
$two_images = $old_db->name('product_two_img')
|
||||||
->where('product_id', '=', $v['id'])
|
->where('product_id', '=', $v['id'])
|
||||||
->where('country_code', '=', $v['country_code'])
|
// ->where('country_code', '=', $v['country_code'])
|
||||||
->where('stat', '=', 0)
|
->where('stat', '=', 0)
|
||||||
->order(['id' => 'asc'])
|
->order(['id' => 'asc'])
|
||||||
->select();
|
->select();
|
||||||
@@ -494,6 +526,19 @@ class DataMigration extends Command
|
|||||||
$temp_images = [];
|
$temp_images = [];
|
||||||
foreach ($skus as $idx => $sku) {
|
foreach ($skus as $idx => $sku) {
|
||||||
$skus[$idx]['product_id'] = $id;
|
$skus[$idx]['product_id'] = $id;
|
||||||
|
foreach ($images as $im) {
|
||||||
|
if (isset($im['color'])) {
|
||||||
|
if (md5($im['color']) == $sku['pkey']) {
|
||||||
|
$skus[$idx]['sku'] = $im['sku']??null;
|
||||||
|
$skus[$idx]['photo_album'] = $im['photo_album']??null;
|
||||||
|
if (!empty($im['attrs'])) {
|
||||||
|
$skus[$idx]['attrs'] = $im['attrs'];
|
||||||
|
}
|
||||||
|
continue 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($images[$sku['pkey']])) {
|
if (isset($images[$sku['pkey']])) {
|
||||||
$skus[$idx]['sku'] = $images[$sku['pkey']]['sku']??null;
|
$skus[$idx]['sku'] = $images[$sku['pkey']]['sku']??null;
|
||||||
$skus[$idx]['photo_album'] = $images[$sku['pkey']]['photo_album']??null;
|
$skus[$idx]['photo_album'] = $images[$sku['pkey']]['photo_album']??null;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
{volist name="vo.products" id="pro"}
|
{volist name="vo.products" id="pro"}
|
||||||
<a class="oripditem" href="{:url('product/detail', ['id' => $pro.id])}">
|
<a class="oripditem" href="{:url('product/detail', ['id' => $pro.id])}">
|
||||||
<div>
|
<div>
|
||||||
<img src="{$pro.cover_image}" class="prdimg prdimg-show" />
|
<img src="{:thumb($pro.cover_image)}" class="prdimg prdimg-show" />
|
||||||
</div>
|
</div>
|
||||||
<div class="prdName">{$pro.name}</div>
|
<div class="prdName">{$pro.name}</div>
|
||||||
<div class="prddec">{$pro.spu}</div>
|
<div class="prddec">{$pro.spu}</div>
|
||||||
|
|||||||
@@ -125,64 +125,28 @@
|
|||||||
{$product.detail|default=''|raw}
|
{$product.detail|default=''|raw}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 相关产品 -->
|
<!-- 关联产品 -->
|
||||||
{notempty name="product_related"}
|
{notempty name="product_related"}
|
||||||
<div id="related">
|
<div class="glcpmain" id="related">
|
||||||
<p>{:lang('product_detail.related_products')}</p>
|
<div class="glcptitle">{:lang('product_detail.related_products')}</div>
|
||||||
<div>
|
<div class="swiper-container glcpswiper">
|
||||||
<ul>
|
<div class="swiper-wrapper">
|
||||||
{volist name="product_related" id="related"}
|
{volist name="product_related" id="rel"}
|
||||||
<li>
|
<a class="swiper-slide glcpit" href="{:url('product/detail', ['id'=>$rel.id])}">
|
||||||
<a href="{:url('product/detail', ['id' => $related.id])}">
|
<img src="{:thumb($rel.cover_image)}" class="glimg" />
|
||||||
<img src="{$related.cover_image}" alt="{$related.name}" />
|
<div class="glinfo">
|
||||||
<p>{$related.name}</p>
|
<div class="t1">{$rel.name}</div>
|
||||||
<p>{$related.spu}</p>
|
<div class="t2">{$rel.spu}</div>
|
||||||
</a>
|
</div>
|
||||||
</li>
|
</a>
|
||||||
{/volist}
|
{/volist}
|
||||||
</ul>
|
</div>
|
||||||
|
<!-- 如果需要导航按钮 -->
|
||||||
|
<div class="swiper-button-prev"></div>
|
||||||
|
<div class="swiper-button-next"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/notempty}
|
{/notempty}
|
||||||
<!-- 关联产品 -->
|
|
||||||
<div class="glcpmain" id="related">
|
|
||||||
<div class="glcptitle">关联产品</div>
|
|
||||||
<div class="swiper-container glcpswiper">
|
|
||||||
<div class="swiper-wrapper">
|
|
||||||
<div class="swiper-slide glcpit">
|
|
||||||
<img src="https://www.orico.com.cn/uploads/product/2539U3/2539U3-L1.jpg" class="glimg" />
|
|
||||||
<div class="glinfo">
|
|
||||||
<div class="t1">2.5英寸USB3.0三防硬盘盒</div>
|
|
||||||
<div class="t2"> ORICO-2539U3</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide glcpit">
|
|
||||||
<img src="https://www.orico.com.cn/uploads/product/2539U3/2539U3-L1.jpg" class="glimg" />
|
|
||||||
<div class="glinfo">
|
|
||||||
<div class="t1">2.5英寸USB3.0三防硬盘盒</div>
|
|
||||||
<div class="t2"> ORICO-2539U3</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide glcpit">
|
|
||||||
<img src="https://www.orico.com.cn/uploads/product/2539U3/2539U3-L1.jpg" class="glimg" />
|
|
||||||
<div class="glinfo">
|
|
||||||
<div class="t1">2.5英寸USB3.0三防硬盘盒</div>
|
|
||||||
<div class="t2"> ORICO-2539U3</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="swiper-slide glcpit">
|
|
||||||
<img src="https://www.orico.com.cn/uploads/product/2539U3/2539U3-L1.jpg" class="glimg" />
|
|
||||||
<div class="glinfo">
|
|
||||||
<div class="t1">2.5英寸USB3.0三防硬盘盒</div>
|
|
||||||
<div class="t2"> ORICO-2539U3</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 如果需要导航按钮 -->
|
|
||||||
<div class="swiper-button-prev"></div>
|
|
||||||
<div class="swiper-button-next"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- 弹框-->
|
<!-- 弹框-->
|
||||||
<div id="form_modal" class="XJmodal">
|
<div id="form_modal" class="XJmodal">
|
||||||
<div class="XJmodal-content">
|
<div class="XJmodal-content">
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<div class="ori-pd-list">
|
<div class="ori-pd-list">
|
||||||
{volist name="vo.products" id="pro"}
|
{volist name="vo.products" id="pro"}
|
||||||
<a class="oripditem" href="{:url('product/detail', ['id' => $pro.id])}">
|
<a class="oripditem" href="{:url('product/detail', ['id' => $pro.id])}">
|
||||||
<img src="{$pro.cover_image}" class="prdimg prdimg-show" />
|
<img src="{:thumb($pro.cover_image)}" class="prdimg prdimg-show" />
|
||||||
<div class="prdName">{$pro.name}</div>
|
<div class="prdName">{$pro.name}</div>
|
||||||
<div class="prddec">{$pro.spu}</div>
|
<div class="prddec">{$pro.spu}</div>
|
||||||
{eq name="pro.is_new" value="1"}
|
{eq name="pro.is_new" value="1"}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<a class="oripditem" href="{:url('product/detail', ['id' => $vp.id])}">
|
<a class="oripditem" href="{:url('product/detail', ['id' => $vp.id])}">
|
||||||
<div>
|
<div>
|
||||||
{volist name="vp.sku" id="vs" key="vs_idx"}
|
{volist name="vp.sku" id="vs" key="vs_idx"}
|
||||||
<img src="{$vs.main_image}" id="sku_image_{$vs.id}" class="prdimg {eq name='vs_idx' value='1'}prdimg-show{/eq}" />
|
<img src="{:thumb($vs.main_image)}" id="sku_image_{$vs.id}" class="prdimg {eq name='vs_idx' value='1'}prdimg-show{/eq}" />
|
||||||
{/volist}
|
{/volist}
|
||||||
</div>
|
</div>
|
||||||
<div class="prdName">{$vp.name}</div>
|
<div class="prdName">{$vp.name}</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user