我尝试重写/app/code/core/Mage/Review/Model/Resource/Review/Collection.php和/app/code/core/Mage/Review/Model/Resource/Review.php
第1步:/app/etc/modules/Lbb_Review.xml
<?xml version="1.0"?>
<config>
<modules>
<Lbb_Review>
<active>true</active>
<codePool>local</codePool>
</Lbb_Review>
</modules>
</config>
Run Code Online (Sandbox Code Playgroud)
第2步:/app/code/local/Lbb/Review/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Lbb_Review>
<version>0.1.0</version>
</Lbb_Review>
</modules>
<global>
<models>
<review_resource>
<rewrite>
<review>Lbb_Review_Model_Resource_Review</review>
</rewrite>
</review_resource>
<review_resource_review>
<rewrite>
<collection>Lbb_Review_Model_Resource_Review_Collection</collection>
</rewrite>
</review_resource_review>
</models>
</global>
</config>
Run Code Online (Sandbox Code Playgroud)
第3步:
/app/code/local/Lbb/Review/Model/Resource/Review.php
<?php
class Lbb_Review_Model_Resource_Review extends Mage_Review_Model_Resource_Review
{
protected function _afterSave(Mage_Core_Model_Abstract $object)
{
echo 'test';
}
}
Run Code Online (Sandbox Code Playgroud)
/app/code/local/Lbb/Review/Model/Resource/Review/Collection.php
<?php
class Lbb_Review_Model_Resource_Review_Collection extends Mage_Review_Model_Resource_Review_Collection
{
/**
* init select
*
* @return Mage_Review_Model_Resource_Review_Product_Collection
*/
protected function _initSelect()
{
parent::_initSelect();
$this->getSelect()
->join(array('detail' => $this->_reviewDetailTable),
'main_table.review_id = …Run Code Online (Sandbox Code Playgroud) 这里有一个名为 test.json 的 json 文件用于测试
{
"name": "Google",
"location": {
"street": "1600 Amphitheatre Parkway",
"city": "Mountain View",
"state": "California",
"country": "US"
},
"employees": [
{
"name": "Michael",
"division": "Engineering"
},
{
"name": "Laura",
"division": "HR"
},
{
"name": "Elise",
"division": "Marketing * test"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我使用jq代码来解析它,如下所示:
cat test.json | jq -r '.employees[2].division'
Run Code Online (Sandbox Code Playgroud)
它将运行良好并给出正确的结果:
Marketing * test
Run Code Online (Sandbox Code Playgroud)
但我用了$(),坏事就会发生!
echo $(cat test.json | jq -r '.employees[2].division')
Run Code Online (Sandbox Code Playgroud)
结果将列出当前文件夹下的所有文件名!喜欢:
my1.json my2.json test.json test ...
Run Code Online (Sandbox Code Playgroud)
我猜它以 shell 脚本的形式$()运行星号 …
Ubuntu的终端使用区分大小写的自动完成,因为我认为Linux会出现这种情况.
但我认为使用不区分大小写的方法通常会更方便,以节省您在创建名称时必须准确,并且可能值得额外的误报.是否有可能改变这种行为?