我正在使用
在cms页面中调用我的自定义模块块{{block type="customreviews/reviews" name="customreviews_reviews" template="Customreviews/reviews.phtml"}}
我的模块配置文件如下:
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
阻止我在名为Reviews.php的模块中创建的php文件
class Suave_Customreviews_Model_Reviews extends Mage_Core_Block_Template
{
public function firstTenCategoryReviews()
{
$data = Mage::getSingleton('customreviews/reviews')->firstTenCategoryReviews();
return $data;
}
}
我的magento版本是1.9.2.4 我允许使用magento admin blocks权限进行自定义视图/评论,但仍然无效。
答案 0 :(得分:1)
有块类是错误的。它应该是
import UIKit
import Alamofire
import SwiftyJSON
class TableViewController: UITableViewController {
var names = [String]()
var rowCount = [Int]()
var tableTitle = [String]()
typealias JSONStandard = [String : AnyObject]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func callAlamo(){
let url = "http://pos1.dermedia.co.il/iphone/getLasttransactions.php?cardid="
//let id = UserDefaults.standard.string(forKey: "UserDefaults")
Alamofire.request(url).responseJSON{(respones)->Void in
if let value = respones.result.value{
let json = JSON(value)
// print (json["items"].arrayValue)
let rows = json["items"].arrayValue
// print (rows)
for anItem in rows {
let title: String? = anItem["SupplierName"].stringValue
self.tableTitle.append(title!)
print(self.tableTitle.count)
}
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(_ animated: Bool) {
// let isUserLoggedin = UserDefaults.standard.boll(forKey: "userLogIn")
let ststus = UserDefaults.standard.string(forKey: "userLogIn")
if ststus == "false" {
self.performSegue(withIdentifier: "loginView", sender: self)
}else{
callAlamo()
print ("gggggg")
print(self.tableTitle.count)
}
}
@IBAction func logout(_ sender: AnyObject) {
UserDefaults.standard.set(false, forKey: "userLogIn")
UserDefaults.standard.synchronize()
self.performSegue(withIdentifier: "loginView", sender: self)
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print (self.tableTitle)
print("hhh")
return tableTitle.count
}
}
答案 1 :(得分:0)
请检查您的xml文件是否缺少节点。
<config>
<modules>
<Suave_Customreviews>
<version>0.0.1</version>
</Suave_Customreviews>
</modules>
<global>
<models>
<customreviews>
<class>Suave_Customreviews_Model</class>
</customreviews>
</models>
<blocks>
<customreviews>
<class>Suave_Customreviews_Block</class>
</customreviews>
</blocks>
<herlps>
<customreviews>
<class>Suave_Customreviews_Helper</class>
</customreviews>
</herlps>
</global>
<frontend>
<routers>
<customreview>
<use>standard</use>
<args>
<module>Suave_Customreviews</module>
<frontName>customreviews</frontName>
</args>
</customreview>
</routers>
<layout>
<updates>
<customreviews>
<file>Customreview.xml</file>
</customreviews>
</updates>
</layout>
</frontend>
</config> <!-- Check if you missed this node -->
根据config.xml文件中提到的代码,您缺少</config>
个节点。我假设您已使用<?xml version="1.0"?>
作为xml文件中的第一行。
你也尝试过Suman Singh提到的内容吗?
答案 2 :(得分:0)
经过大量的谷歌搜索后,我发现了这个问题。
我使用的模块名称是customreviews,但模型的名称和我命名的块php文件是Reviews.php。
默认情况下,magento会检查名为模块名称的模块和块文件。
所以我重命名了模型并将php文件阻塞到模块名称,并且工作正常。
Suman Singh提到我的区块代码也存在问题。
感谢Suman的纠正。