ecshop给虚拟商品添加出售和未出售的导出xlc,ecshopxlc
ecshop给虚拟商品添加出售和未出售的导出xlc,ecshopxlc
在admin/virtral_card.php文件中找到$_REQUEST['act'] == 'card'
这里是用来显示某一个虚拟商品的出售记录的列表将会发送到replenish_list.htm
在replenish_list.htm 文件中最定部分有个引入的文件叫pageheader.htm的文件这里是用于输出默认模版里的补“货按”钮
在virtral_card.php文件大约180行有
<span>$smarty</span>->assign('action_link', <span>array</span>('text' => <span>$_LANG</span>['replenish'], 'href' => 'virtual_card.php?act=replenish&goods_id='.<span>$_REQUEST</span>['goods_id']));
按照ecshop的习惯,需要修改语言包文件(语言包文件名和对应的这个php文件名相同,只是在语言包目录下)
$_LANG['Notforsale'] = '未出售导出xls';
$_LANG['Hasforsale'] = '已出售导出xls';
在大约180行那句话下面添加如下(主要是修改一下act后的参数,用于到文件中来处理数据)
比较重要的是forsale=has和forsale=not这两个参数,将用来区别是要导出已经出售还是要导出未出售的
<span>$smarty</span>->assign('Notforsale', <span>array</span>('text' => <span>$_LANG</span>['Notforsale'], 'href' => 'virtual_card.php?act=forsale&forsale=not&goods_id='.<span>$_REQUEST</span>['goods_id'<span>])); </span><span>$smarty</span>->assign('Hasforsale', <span>array</span>('text' => <span>$_LANG</span>['Hasforsale'], 'href' => 'virtual_card.php?act=forsale&forsale=has&goods_id='.<span>$_REQUEST</span>['goods_id']));
具体代码如下:
<span>/*</span><span>------------------------------------------------------ </span><span>*/</span> <span>//</span><span>-- 导出未出售或已出售的虚拟商品到xls</span><span> /*</span><span>------------------------------------------------------ </span><span>*/</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'forsale'<span>) { </span><span>$forsale</span> = <span>empty</span>(<span>$_REQUEST</span>['forsale']) ? "" : <span>trim</span>(<span>$_REQUEST</span>['forsale'<span>]); </span><span>//</span><span>首先判断$forsale是否有值被传入</span> <span>if</span>(<span>$forsale</span> != ""<span>){ </span><span>$fielname</span> = ""<span>; </span><span>$goods_id</span> = <span>empty</span>(<span>$_REQUEST</span>['goods_id']) ? 0 : <span>intval</span>(<span>$_REQUEST</span>['goods_id'<span>]); </span><span>//</span><span>has为已出售,not为未出售</span> <span>if</span>(<span>$forsale</span> == 'has'<span>){ </span><span>$fielname</span> = "已出售商品"<span>; </span><span>$getCurrentGoodsListsql</span> = "SELECT card_id, goods_id, card_sn, card_password, end_date, is_saled, order_sn, crc32 FROM " . <span>$GLOBALS</span>['ecs']->table('virtual_card') . " WHERE goods_id = " . <span>$goods_id</span> . " and is_saled = 1"<span> ; } </span><span>else</span> <span>if</span>(<span>$forsale</span> == 'not'<span>){ </span><span>$fielname</span> = "未出售商品"<span>; </span><span>$getCurrentGoodsListsql</span> = "SELECT card_id, goods_id, card_sn, card_password, end_date, is_saled, order_sn, crc32 FROM " . <span>$GLOBALS</span>['ecs']->table('virtual_card') . " WHERE goods_id = " . <span>$goods_id</span> . " and is_saled = 0"<span> ; } </span><span>$currentGoodsList</span> = <span>$GLOBALS</span>['db']->getAll(<span>$getCurrentGoodsListsql</span><span>); </span><span>$arr</span> = <span>array</span><span>(); </span><span>foreach</span> (<span>$currentGoodsList</span> <span>AS</span> <span>$key</span> => <span>$row</span><span>) { </span><span>if</span> (<span>$row</span>['crc32'] == 0 || <span>$row</span>['crc32'] == <span>crc32</span><span>(AUTH_KEY)) { </span><span>$row</span>['card_sn'] = decrypt(<span>$row</span>['card_sn'<span>]); </span><span>$row</span>['card_password'] = decrypt(<span>$row</span>['card_password'<span>]); } </span><span>elseif</span> (<span>$row</span>['crc32'] == <span>crc32</span><span>(OLD_AUTH_KEY)) { </span><span>$row</span>['card_sn'] = decrypt(<span>$row</span>['card_sn'],<span> OLD_AUTH_KEY); </span><span>$row</span>['card_password'] = decrypt(<span>$row</span>['card_password'],<span> OLD_AUTH_KEY); } </span><span>else</span><span> { </span><span>$row</span>['card_sn'] = '***'<span>; </span><span>$row</span>['card_password'] = '***'<span>; } </span><span>$row</span>['end_date'] = <span>$row</span>['end_date'] == 0 ? '' : <span>date</span>(<span>$GLOBALS</span>['_CFG']['date_format'], <span>$row</span>['end_date'<span>]); </span><span>$arr</span>[] = <span>$row</span><span>; } </span><span>header</span>("Content-Type: application/vnd.ms-execl"); <span>//</span><span>定义文件的内容类型</span> <span>header</span>("Content-Disposition: attachment; filename={<span>$fielname</span>}.xls"<span>); </span><span>header</span>("Pragma: no-cache"); <span>//</span><span>不缓存</span> <span>header</span>("Expires: 0");<span>//</span><span>将内容输出到第一个工作簿</span> <span>$data</span> = "数据库编号\t商品编号\t卡片序号\t卡片密码\t截止使用日期\t是否已经出售(1:已经出售0:未出售)\t订单号\t加密编码(客户无用,可删除)\t\n"<span>; </span><span>foreach</span>(<span>$arr</span> <span>as</span> <span>$key</span>=><span>$val</span><span>){ </span><span>foreach</span> (<span>$val</span> <span>as</span> <span>$k</span> => <span>$v</span><span>) { </span><span>$data</span> .= <span>$v</span> . "\t"<span>; } </span><span>$data</span> .= "\n"<span>; } </span><span>echo</span> <span>iconv</span>("UTF-8","GB2312//IGNORE",<span>$data</span><span>); </span><span>//</span><span>echo "<pre class="brush:php;toolbar:false">";var_dump($data);echo "

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ramai pengguna semakin memihak kepada ekosistem elektronik sambung rumah pintar Xiaomi dalam kehidupan moden Selepas menyambung ke APP Mijia, anda boleh mengawal peranti yang disambungkan dengan mudah dengan telefon bimbit anda Namun, ramai pengguna masih tidak tahu cara menambah Mijia rumah mereka, maka panduan tutorial ini akan membawakan kepada anda kaedah dan langkah sambungan khusus, dengan harapan dapat membantu semua orang yang memerlukan. 1. Selepas memuat turun APP Mijia, buat atau log masuk ke akaun Xiaomi. 2. Kaedah menambah: Selepas peranti baharu dihidupkan, dekatkan telefon dengan peranti dan hidupkan TV Xiaomi Dalam keadaan biasa, gesaan sambungan akan muncul. Jika tiada gesaan muncul, anda juga boleh menambah peranti secara manual Kaedahnya ialah: selepas memasuki APP rumah pintar, klik butang pertama di sebelah kiri bawah

Dengan peningkatan berterusan media sosial, Douyin, sebagai platform video pendek yang popular, telah menarik sejumlah besar pengguna. Di Douyin, pengguna bukan sahaja boleh menunjukkan kehidupan mereka tetapi juga berinteraksi dengan pengguna lain. Dalam interaksi ini, emotikon secara beransur-ansur menjadi cara yang penting untuk pengguna meluahkan emosi mereka. 1. Bagaimana untuk mendapatkan emotikon mesej peribadi Douyin di WeChat? Pertama sekali, untuk mendapatkan emotikon mesej peribadi pada platform Douyin, anda perlu log masuk ke akaun Douyin anda, kemudian semak imbas dan pilih emotikon yang anda suka. Anda boleh memilih untuk menghantarnya kepada rakan atau mengumpulnya sendiri. Selepas menerima pakej emotikon pada Douyin, anda boleh menekan lama pakej emotikon melalui antara muka mesej peribadi, dan kemudian pilih fungsi "Tambah ke Emotikon". Dengan cara ini, anda boleh menambahkan pakej emotikon ini pada pustaka emotikon Douyin. 3. Seterusnya, kita perlu menambah perkataan dalam perpustakaan emotikon Douyin

xmind adalah perisian pemetaan minda yang sangat praktikal Ia adalah bentuk peta yang dibuat menggunakan pemikiran dan inspirasi orang Selepas kami membuat fail xmind, kami biasanya menukarnya ke dalam format fail pdf untuk memudahkan penyebaran dan penggunaan semua orang ke fail pdf? Di bawah adalah langkah-langkah khusus untuk rujukan anda. 1. Mula-mula, mari kita tunjukkan cara mengeksport peta minda ke dokumen PDF. Pilih butang fungsi [Fail]-[Eksport]. 2. Pilih [dokumen PDF] dalam antara muka yang baru muncul dan klik butang [Seterusnya]. 3. Pilih tetapan dalam antara muka eksport: saiz kertas, orientasi, resolusi dan lokasi penyimpanan dokumen. Selepas melengkapkan tetapan, klik butang [Selesai]. 4. Jika anda klik butang [Selesai].

1. Mula-mula, buka pelan reka bentuk untuk diproses di Kujiale dan klik pada lukisan pembinaan di bawah senarai lukisan di atas. 2. Kemudian klik untuk memilih pelan lantai berwarna penuh. 3. Kemudian sembunyikan perabot yang tidak diperlukan dalam lukisan, tinggalkan hanya perabot yang perlu dieksport. 4. Akhir sekali, klik Muat turun.

Urutan talian sambungan SPDIFOUT pada papan induk Baru-baru ini, saya menghadapi masalah mengenai urutan pendawaian wayar. Saya menyemak dalam talian Beberapa maklumat mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, +5V, dan tanah manakala maklumat lain mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, tanah dan +5V. Cara terbaik ialah menyemak manual papan induk anda Jika anda tidak menemui manual, anda boleh menggunakan multimeter untuk mengukurnya. Cari tanah dahulu, kemudian anda boleh menentukan susunan pendawaian yang lain. Cara menyambung pendawaian VDG papan induk Apabila menyambungkan pendawaian VDG papan induk, anda perlu palamkan satu hujung kabel VGA ke antara muka VGA monitor dan hujung satu lagi ke antara muka VGA kad grafik komputer. Sila berhati-hati untuk tidak memasukkannya ke dalam port VGA motherboard. Setelah disambungkan, anda boleh

Cara menambah rangkaian PolygonMainnet Untuk menggunakan MATIC (Polygon) dengan Metamask, anda perlu menambah rangkaian peribadi yang dipanggil "PolygonMainnet". Pemindahan masuk dengan alamat rangkaian yang salah boleh menyebabkan masalah, jadi pastikan anda menggunakan rangkaian "PolygonMainnet" sebelum memindahkan keluar daripada $MATIC. Dompet Metamask disambungkan ke mainnet Ethereum secara lalai, tetapi kami hanya boleh menambah "PolygonMainnet" dan menggunakan $MATIC. Hanya beberapa langkah salin dan tampal mudah dan anda sudah selesai. Pertama, dalam dompet Metamask, klik pada pilihan rangkaian di sudut kanan atas dan pilih "C

Sambungan Chrome Tampermonkey ialah pemalam pengurusan skrip pengguna yang meningkatkan kecekapan pengguna dan pengalaman menyemak imbas melalui skrip Jadi bagaimanakah Tampermonkey menambah skrip baharu? Bagaimana untuk memadam skrip? Biarkan editor memberi anda jawapan di bawah! Cara menambah skrip baru pada Tampermonkey: 1. Ambil GreasyFork sebagai contoh Buka halaman web GreasyFork dan masukkan skrip yang anda mahu ikuti. 2. Pilih skrip , selepas memasuki halaman skrip, anda boleh melihat butang untuk memasang skrip ini 3. Klik untuk memasang skrip ini untuk datang ke antara muka pemasangan. Hanya klik di sini untuk memasang 4. Kita boleh melihat satu klik yang dipasang dalam skrip pemasangan.
![Outlook tersekat semasa menambah akaun [Tetap]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Apabila anda menghadapi masalah menambah akaun dalam Outlook, anda boleh mencuba penyelesaian berikut untuk menyelesaikannya. Biasanya ini boleh disebabkan oleh sambungan rangkaian yang rosak, profil pengguna yang rosak atau isu sementara yang lain. Melalui kaedah yang disediakan dalam artikel ini, anda boleh menyelesaikan masalah ini dengan mudah dan memastikan Outlook anda boleh berjalan seperti biasa. Outlook tersekat semasa menambah akaun Jika Outlook anda tersekat semasa menambah akaun, kemudian gunakan pembetulan ini yang dinyatakan di bawah: Putuskan sambungan dan sambung semula internet Lumpuhkan sementara perisian antivirus Buat profil Outlook baharu Cuba tambah akaun dalam mod selamat Lumpuhkan IPv6 Jalankan Sokongan Microsoft dan Pembaikan Pembantu Pemulihan Office Application Outlook Tambah Akaun Diperlukan
