1

在按次付费的内容节点(使用 Drupal MoneySuite 模块)上,当我单击“覆盖设置”为该节点输入金额/类型时,它会因此错误而崩溃,尽管我已经尝试了许多版本的价格(例如 1 或1.00)和日期(例如 2 或 2 天)。我尝试在该字段的设置中使用完整的 html、过滤后的 html 和纯文本。Stackexhange 上的一个答案暗示这是一个 ut8 问题,但我不知道如何解决它意味着什么?有小费吗?

错误是:

     PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect     integer value: 'full_html' for column 'protected_content_message_format' at row 1: INSERT INTO {ms_ppv_price} (vid, nid, price, expiration_string, allow_multiple, protected_content_message, protected_content_message_format, stock, out_of_stock_message) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8); Array ( [:db_insert_placeholder_0] => 96 [:db_insert_placeholder_1] => 96 [:db_insert_placeholder_2] => 3 [:db_insert_placeholder_3] => 3 days [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => This is a premium film- pay per view only. Get access [ms_ppv:price] to view for [ms_ppv:expirationLength] : [ms_ppv:addToCartLink] [ms_ppv:nodeTeaser] [:db_insert_placeholder_6] => full_html [:db_insert_placeholder_7] => 0 [:db_insert_placeholder_8] => ) in ms_ppv_insert_node_price() (line 774 of /home/cineafzh/public_html/sites/all/modules/moneysuite/ms_ppv/ms_ppv.module).
4

1 回答 1

1

看起来 MoneySuite 模块错误地创建了数据库表。

您的错误消息准确地解释了出了什么问题。

列“protected_content_message_format”被定义为数据库中的日期时间列。模块尝试在其中存储的值是“full_html”,它是一个字符串。它验证失败并引发异常。

一种解决方法是编辑您的数据库并将“protected_content_message_format”的列类型更改为字符串,而不是日期时间。

如果不查看代码,我不能保证这不会引入其他不良行为,但它肯定会解决这个特定错误。

于 2016-11-02T11:08:48.557 回答