我想为我的小商店找到一个电子商务解决方案.我的朋友告诉我,Prestashop很容易使用和开发模块,但有人说Magento更好.谁能告诉我哪个更适合开发模块?为什么?
我不确定这是什么时候发生的.
我有一个新的drop-shipping会员网站,并从批发商那里收到产品目录的导出副本.我格式化并将其导入Prestashop 1.4.4.
网站的前端包含产品文本中的奇怪字符组合:Ã,Ã,¢,â等.它们出现在常见字符的位置,如: - :等.
这些字符存在于大约40%的数据库表中,而不仅仅是产品特定的表,如ps_product_lang.
另一个网站线程说当数据库连接字符串使用不正确的字符编码类型时会出现同样的问题.
在/config/setting.inc中,没有提到的字符编码字符串,只有MySQL Engine,它设置为InnoDB,与我在PHPMyAdmin中看到的匹配.
我导出了ps_product_lang,用正确的字符替换了这些字符的所有实例,以UTF-8格式保存了CSV文件,并使用PHPMyAdmin重新导入它们,指定UTF-8作为语言.
但是,在PHPMyAdmin中进行新的搜索后,我现在在ps_product_lang中的这些错误字符的实例数量是我开始时的10倍.
如果问题就像在数据库连接字符串中指定正确的语言属性一样简单,我在哪里/如何设置它,以及该怎么做?
我很自然地尝试在此线程中提到的PHPMyAdmin中运行此命令,但问题仍然存在:
SET NAMES utf8
Run Code Online (Sandbox Code Playgroud)
更新:PHPMyAdmin说:
MySQL charset:UTF-8 Unicode(utf8)
这与我在上一个导入文件中使用的字符集相同,导致更多字符损坏.在导入过程中,UTF-8被指定为导入文件的字符集.
UPDATE2
这是一个示例:
人们真正生活在不受限制的地方,在线购买和租借电影,下载软件以及共享和存储文件,这些都是不受欢迎的,••••••â€网络.
UPDATE3
我在PHPMyAdmin中运行了一个SQL命令来显示字符集:
因此,我的数据库可能需要转换(或删除并重新创建)为UTF-8.如果MySQL服务器是latin1,这会造成问题吗?
MySQL能否将服务内容的翻译作为UTF8处理,但将其存储为latin1?我不认为它可以,因为UTF8是latin1的超集.我的网络托管支持在48小时内没有回复.对他们来说可能太难了.
我需要获取位于www.mysite.com/themes/mytheme/img/image.png的图像路径
=================================================
我在这里找到了答案:http://prestalab.ru/wiki/peremennye-v-shablonax.
我主题中的图像路径为:{ $ tpl_dir } img/myimage.png
我目前正在开发一个使用API来检索,更新和删除数据的项目.我正在使用的API是prestashop API.因此,在能够检索数据并更新某些项目之后,我偶然发现了一个问题.正如文档中所述,通过API发送和检索的所有数据都是json和.xml由于API的某些数据在json返回中具有不同的级别,如@attributes和@associations级别,我提出了这个问题.
问题是我想访问这些数据,并结合angularjs我想显示这些数据.所以,让我向您展示一个我正在努力实现的快速示例.
首先,JSON回报将是这样的.
{"products":{"product":[{"id":"1","id_manufacturer":"1","id_supplier":"1","id_category_default":"5","new":{},"cache_default_attribute":"1","id_default_image":"1","id_default_combination":"1","id_tax_rules_group":"1","position_in_category":"0","manufacturer_name":"Fashion Manufacturer","quantity":"0","type":"simple","id_shop_default":"1","reference":"demo_1","supplier_reference":{},"location":{},"width":"0.000000","height":"0.000000","depth":"0.000000","weight":"0.000000","quantity_discount":"0","ean13":"333456789111","isbn":{},"upc":{},"cache_is_pack":"0","cache_has_attachments":"0","is_virtual":"0","state":"1","on_sale":"0","online_only":"0","ecotax":"0.000000","minimal_quantity":"1","price":"16.510000","wholesale_price":"4.950000","unity":{},"unit_price_ratio":"0.000000","additional_shipping_cost":"0.00","customizable":"0","text_fields":"0","uploadable_files":"0","active":"1","redirect_type":"404","id_type_redirected":"0","available_for_order":"1","available_date":"0000-00-00","show_condition":"0","condition":"new","show_price":"1","indexed":"1","visibility":"both","advanced_stock_management":"0","date_add":"2017-03-16 14:36:24","date_upd":"2017-12-01 13:01:13","pack_stock_type":"3","meta_description":{"language":{"@attributes":{"id":"1"}}},"meta_keywords":{"language":{"@attributes":{"id":"1"}}},"meta_title":{"language":{"@attributes":{"id":"1"}}},"link_rewrite":{"language":"gebleekte-T-shirts-met-korte-mouwen"},"name":{"language":"Gebleekte T-shirts met Korte Mouwen"},"description":{"language":"
Fashion maakt goed ontworpen collecties sinds 2010. Het merk biedt vrouwelijke combineerbare kleding en statement dresses en heeft een pr\u00eat-\u00e0-porter collectie ontwikkeld met kledingstukken die niet in een garderobe mogen ontbreken. Het resultaat? Cool, gemakkelijk, easy, chique met jeugdige elegantie en een duidelijk herkenbare stijl. Alle prachtige kledingstukken worden met de grootste zorg gemaakt in Itali\u00eb. …Run Code Online (Sandbox Code Playgroud) 我正在PrestaShop 1.6中开发自定义支付模块.我的前端控制器路径是:mymodule/controllers/front/payment.php
payment.php包含:
$this->context->smarty->assign(array(
'dataCompleteURL' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__.'index.php?fc=module&module=mymodule&controller=callback&cart='.$cartID));
$this->setTemplate('payment.tpl');Run Code Online (Sandbox Code Playgroud)
我的模板文件路径是:
mymodule/views/templates/front/payment.tpl
payment.tpl包含:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>Run Code Online (Sandbox Code Playgroud)
问题是在我的localhost中工作正常.我在脚本标记中获得了数据完整的URL.但是当我在我的测试服务器中安装模块时,我没有得到数据完整的URL.
任何帮助或建议将不胜感激.
提前致谢.
UPDATE
我发现问题是脚本标记的"src"中的"https".我无法理解为什么如果src URL以https开头,数据完成就会消失.没有https就可以了.
当我在浏览器中查看源代码时,在src中使用https查看以下代码,我得到:
<script src="http://easternbank.test.gateway.com/checkout.js" data-complete="{$dataCompleteURL}" type="text/javascript"> </script>Run Code Online (Sandbox Code Playgroud)
data-complete属性消失了.但是当我使用没有"https"的src查看脚本的源代码时,我得到了data-complete属性.
我找不到原因.
或者 我可以使用以下命令在payment.php控制器中添加javascript:
$this->context->controller->addJS(($this->_path).'js/checkout.js');Run Code Online (Sandbox Code Playgroud)
但我不知道如何在addJS函数中传递数据属性.
我正在使用PHP为Prestashop开发一个模块,我在尝试调试代码时遇到了困难.每当有什么东西掉下来时,它都不会显示错误,只是一个空白页面 - 无论是在模块挂钩的前端,还是在后端模块页面上.
我正在尝试在另一个类或其他函数中编写,但它根本不喜欢它.
它位于本地开发服务器上,PHP错误等等.
有人可以告诉我任何其他方式调试东西而不是注释掉代码吗?或者某种获取错误代码的方法?
感谢您的帮助.
我是聪明的新手,我想在模板文件即tpl文件中使用php代码.我已经看过文档并在谷歌搜索,但无法找到如何使用PHP代码他们说我们需要配置smarty允许PHP执行但无法找到如何做到这一点.
请在这方面帮助我.谢谢
我正在使用Prestashop 1.5.x网站,我需要为特定产品添加自定义价格计算规则.我的目标是每个订单增加10美元,但PS增加了产品数量的额外成本,所以如果您订购20个产品,它会问你200美元而不是10 ...我需要覆盖/classes/Product.php中的计算过程,有类似的东西:
if (product_id = 44) { $price = $price + 10; }
else { $price = $price }
Run Code Online (Sandbox Code Playgroud)
你有什么想法吗?
客户下达的某些订单缺少订单状态(例如:已发货,等待卖家发送货物,付款已加入等).它仅对某些订单显示相应列中的空白部分.
当我检查这些特定订单的详细信息时,只能找到订单总和.后端的订单详细信息页面中缺少所有订购产品的详细信息.
我使用的是prestashop版本:1.6.0.14
是否有任何可以避免此问题或恢复此类订单?我搜索了一个解决方案,但我找不到解决方案.
请帮忙.
我对prestashop 1.6网站进行了大量修改.
我已经创建了一个本地副本,并且正在跟踪git中的文件系统更改.
但是prestashop中的很多更改都存储在数据库中,特别是在我的情况下:
在开发过程中,实时站点收到了大量新订单,客户,订户等,因此数据库不同步.
我通过在db中转储和导入特定表,或者使用迁移功能中内置的框架解决了其他框架中的类似问题,但我找不到专门针对prestashop的建议.
这是怎么处理的?
考虑到开发站点可能经历了比实时站点更多样化的更改,我想知道将新订单等复制到开发站点然后覆盖整个事件会更容易吗?
prestashop ×10
php ×6
e-commerce ×2
javascript ×2
angularjs ×1
database ×1
debugging ×1
json ×1
magento ×1
mysql ×1
smarty ×1
web-services ×1