我想以编程方式将类别添加到prestashop,我尝试了这段代码
$object = new Category();
$object->name = "xcvxvvx";
if (!$parent_id){
$parent_id = Configuration::get('PS_HOME_CATEGORY');
}
$object->id_parent = $parent_id;
$object->link_rewrite = array((int)(Configuration::get('PS_LANG_DEFAULT')) => $category);
$object->add();
$object->id_category = $object->id;
$object->id_category_default = $object->id;
Run Code Online (Sandbox Code Playgroud)
$对象 - >更新();
我收到此错误消息:
Fatal error: Uncaught exception 'PrestaShopException' with message 'Property
Category->name is empty' in /var/www/autospareparts.se.com/classes/ObjectModel.php:874
Stack trace:
#0 /var/www/autospareparts.se.com/classes/ObjectModel.php(306):
ObjectModelCore->validateFieldsLang()
#1 /var/www/autospareparts.se.com/classes/ObjectModel.php(490):
ObjectModelCore->getFieldsLang()
#2 /var/www/autospareparts.se.com/classes/Category.php(157):
ObjectModelCore->add(true, false)
#3 /var/www/autospareparts.se.com/get_product.php(51): CategoryCore->add()
#4 {main}
thrown in /var/www/autospareparts.se.com/classes/ObjectModel.php on line 874
Run Code Online (Sandbox Code Playgroud)
与我指定的名称字段相关的错误
$object->name = "xcvxvvx";
Run Code Online (Sandbox Code Playgroud)
提前致谢
我上传了我的产品图片如下:当我查看与图像相关的产品信息时,将在img/p/1/2/3/4/1234-large_default.jpg上传一张带有1234 id的图像,默认文件(产品)显示图像不可用).
我将代码添加到数据库的代码
$res = "insert into "._DB_PREFIX_."image (`id_product`,`position`,`cover`) values
(".$id_product.",1, 1)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');
$id_image = Db::getInstance()->Insert_ID();
$res = "insert into "._DB_PREFIX_."image_lang (`id_image`,`id_lang`) values (".$id_image.", 1)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');
$res = "insert into "._DB_PREFIX_."image_lang (`id_image`,`id_lang`) values (".$id_image.", 2)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');
$stmt = "insert into "._DB_PREFIX_."image_shop(`id_image`,`id_shop`,`cover`) values (".$id_image.",1,1)";
$folders = str_split($id_image);
$i = 0;
$base_uri ='var/www/autospareparts.se.com/img/p/';
$folders = str_split($id_image);
$i = 0;
$base_uri ='/var/www/autospareparts.se.com/img/p/';
while( $i <sizeof($folders) )
{
$base_uri .= $folders[$i].'/';
if($i==(sizeof($folders) -1))
{if(!is_dir( $base_uri)) …Run Code Online (Sandbox Code Playgroud) 我从数据库加载了一些带有图像位置的Picturebox,我想将参数(价格和名称)传递给循环中的click事件处理程序
代码看起来像这样:
private void Caisse_Load(object sender, EventArgs e)
{
int repetition = 0;
int rep = 1;
textMontant.Text = mont;
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ToString());
con.Open();
SqlCommand cmd = new SqlCommand( "select desig_prd,prix_prd ,image from Produit ",con);
using (SqlDataReader reader1 = cmd.ExecuteReader())
{
while (reader1.Read())
{
if (repetition % 3== 0)
repetition = 0;
PictureBox p = new PictureBox();
p.Click += new System.EventHandler(P_Click(sender,
new MyEventArgs { design = reader1["desig_prd"].ToString(), prix = (float)reader1["prix_prd"] }));
p.ImageLocation = reader1["image"].ToString();
p.Height = 100;
p.Width …Run Code Online (Sandbox Code Playgroud)