我有一个无效的WHMCS脚本,我在我的托管网站上使用过它 当我将产品添加到WHMCS页面中添加到购物车的购物车产品时,但是在同一个域中我创建了自己的页面。出于这个原因,我想使用WHMCS生成的会话应该在我的页面上可用。但我无法这样做。
这是我的代码
#include <QtWidgets/QApplication>
#include <QTreeView>
#include <QAbstractTableModel>
#include <QString>
#include <QVariant>
#include <QList>
typedef struct entry_{
entry_(const QString &n, bool e) : name(n), enabled(e) {}
QString name; bool enabled;
} table_entry_t;
class SimpleModel : public QAbstractTableModel
{
public:
SimpleModel(QWidget *parent = nullptr) : QAbstractTableModel(parent)
{
m_entries = {
{"Jhon Doe", false},
{"Jhon Doe Jr.", true}
};
}
QVariant data(const QModelIndex &index, int role) const {
switch (role) {
case Qt::DisplayRole:
table_entry_t entry = m_entries[index.row()];
if (index.column() == 0)
return QVariant(entry.name);
if (index.column() == 1)
return QVariant(entry.enabled);
}
return QVariant();
}
Qt::ItemFlags flags(const QModelIndex &index) const {
Qt::ItemFlags flags = QAbstractTableModel::flags(index);
if (!m_entries[index.row()].enabled && index.column() == 0)
flags ^ Qt::ItemIsEnabled;
else
flags |= Qt::ItemIsEditable;
return flags;
}
int rowCount(const QModelIndex &parent /* = QModelIndex() */) const {Q_UNUSED(parent); return static_cast<int>(m_entries.size());}
int columnCount(const QModelIndex &parent /* = QModelIndex() */) const {Q_UNUSED(parent); return 2; }
private:
QList<table_entry_t> m_entries;
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTreeView tree;
SimpleModel *model = new SimpleModel();
tree.setModel(model);
tree.show();
return a.exec();
}
答案 0 :(得分:0)
我会说这不起作用,因为你无法分享WHMCS会话。
你可以Create Your Own WHMCS Pages - 这可以让你利用所有的 WHMCS Internal API命令以及访问WHMCS Session变量,包括购物车数组。
答案 1 :(得分:0)
feed文件夹中有两个鲜为人知的文件,cartnumitems.php和carttotal.php,它们可以为您提供所需的文件。如果您查看documentation for feeds,您应该能够看到它们是如何使用的。
否则我使用它们是以JSON格式输出我需要的数据的基础,然后使用AJAX和jsonp来访问数据。