去掉 评论中的Summary of Your Review
来源:互联网 发布:37轩辕剑神器进阶数据 编辑:程序博客网 时间:2024/06/08 08:01
app/code/core/Mage/Review/Model/Review.php
<?php/** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * * @category Mage * @package Mage_Review * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) *//** * Review model * * @method Mage_Review_Model_Resource_Review _getResource() * @method Mage_Review_Model_Resource_Review getResource() * @method string getCreatedAt() * @method Mage_Review_Model_Review setCreatedAt(string $value) * @method Mage_Review_Model_Review setEntityId(int $value) * @method int getEntityPkValue() * @method Mage_Review_Model_Review setEntityPkValue(int $value) * @method int getStatusId() * @method Mage_Review_Model_Review setStatusId(int $value) * * @category Mage * @package Mage_Review * @author Magento Core Team <core@magentocommerce.com> */class Mage_Review_Model_Review extends Mage_Core_Model_Abstract{ /** * Event prefix for observer * * @var string */ protected $_eventPrefix = 'review'; /** * @deprecated after 1.3.2.4 * */ const ENTITY_PRODUCT = 1; /** * Review entity codes * */ const ENTITY_PRODUCT_CODE = 'product'; const ENTITY_CUSTOMER_CODE = 'customer'; const ENTITY_CATEGORY_CODE = 'category'; const STATUS_APPROVED = 1; const STATUS_PENDING = 2; const STATUS_NOT_APPROVED = 3; protected function _construct() { $this->_init('review/review'); } public function getProductCollection() { return Mage::getResourceModel('review/review_product_collection'); } public function getStatusCollection() { return Mage::getResourceModel('review/review_status_collection'); } public function getTotalReviews($entityPkValue, $approvedOnly=false, $storeId=0) { return $this->getResource()->getTotalReviews($entityPkValue, $approvedOnly, $storeId); } public function aggregate() { $this->getResource()->aggregate($this); return $this; } public function getEntitySummary($product, $storeId=0) { $summaryData = Mage::getModel('review/review_summary') ->setStoreId($storeId) ->load($product->getId()); $summary = new Varien_Object(); $summary->setData($summaryData->getData()); $product->setRatingSummary($summary); } public function getPendingStatus() { return self::STATUS_PENDING; } public function getReviewUrl() { return Mage::getUrl('review/product/view', array('id' => $this->getReviewId())); } public function validate() { $errors = array();/* if (!Zend_Validate::is($this->getTitle(), 'NotEmpty')) { $errors[] = Mage::helper('review')->__('Review summary can\'t be empty'); }*/ if (!Zend_Validate::is($this->getNickname(), 'NotEmpty')) { $errors[] = Mage::helper('review')->__('Nickname can\'t be empty'); } if (!Zend_Validate::is($this->getDetail(), 'NotEmpty')) { $errors[] = Mage::helper('review')->__('Review can\'t be empty'); } if (empty($errors)) { return true; } return $errors; } /** * Perform actions after object delete * * @return Mage_Core_Model_Abstract */ protected function _afterDeleteCommit() { $this->getResource()->afterDeleteCommit($this); return parent::_afterDeleteCommit(); } /** * Append review summary to product collection * * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection * @return Mage_Review_Model_Review */ public function appendSummary($collection) { $entityIds = array(); foreach ($collection->getItems() as $_itemId => $_item) { $entityIds[] = $_item->getEntityId(); } if (sizeof($entityIds) == 0) { return $this; } $summaryData = Mage::getResourceModel('review/review_summary_collection') ->addEntityFilter($entityIds) ->addStoreFilter(Mage::app()->getStore()->getId()) ->load(); foreach ($collection->getItems() as $_item ) { foreach ($summaryData as $_summary) { if ($_summary->getEntityPkValue() == $_item->getEntityId()) { $_item->setRatingSummary($_summary); } } } return $this; } protected function _beforeDelete() { $this->_protectFromNonAdmin(); return parent::_beforeDelete(); } /** * Check if current review approved or not * * @return bool */ public function isApproved() { return $this->getStatusId() == self::STATUS_APPROVED; } /** * Check if current review available on passed store * * @param int|Mage_Core_Model_Store $store * @return bool */ public function isAvailableOnStore($store = null) { $store = Mage::app()->getStore($store); if ($store) { return in_array($store->getId(), (array)$this->getStores()); } return false; } /** * Get review entity type id by code * * @param string $entityCode * @return int|bool */ public function getEntityIdByCode($entityCode) { return $this->getResource()->getEntityIdByCode($entityCode); }}
app/design/frontend/base/default/template/review/form.phtml
<?php/** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * * @category design * @package base_default * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */?><div class="form-add"> <h2><?php echo $this->__('Write Your Own Review') ?></h2> <?php if ($this->getAllowWriteReviewFlag()): ?> <form action="<?php echo $this->getAction() ?>" method="post" id="review-form"> <fieldset> <?php echo $this->getChildHtml('form_fields_before')?> <h3><?php echo $this->__("You're reviewing:"); ?> <span><?php echo $this->htmlEscape($this->getProductInfo()->getName()) ?></span></h3> <?php if( $this->getRatings() && $this->getRatings()->getSize()): ?> <h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4> <span id="input-message-box"></span> <table class="data-table" id="product-review-table"> <col /> <col width="1" /> <col width="1" /> <col width="1" /> <col width="1" /> <col width="1" /> <thead> <tr> <th> </th> <th><span class="nobr"><?php echo $this->__('1 star') ?></span></th> <th><span class="nobr"><?php echo $this->__('2 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('3 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('4 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('5 stars') ?></span></th> </tr> </thead> <tbody> <?php foreach ($this->getRatings() as $_rating): ?> <tr> <th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th> <?php foreach ($_rating->getOptions() as $_option): ?> <td class="value"><input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" /></td> <?php endforeach; ?> </tr> <?php endforeach; ?> </tbody> </table> <input type="hidden" name="validate_rating" class="validate-rating" value="" /> <script type="text/javascript">decorateTable('product-review-table')</script> <?php endif; ?> <ul class="form-list"> <li> <label for="nickname_field" class="required"><em>*</em><?php echo $this->__('Nickname') ?></label> <div class="input-box"> <input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getNickname()) ?>" /> </div> </li> <li> <label for="summary_field" class="requiredx"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label> <div class="input-box"> <input type="text" name="title" id="summary_field" class="input-text required-entryx" value="<?php echo $this->htmlEscape($data->getTitle()) ?>" /> </div> </li> <li> <label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label> <div class="input-box"> <textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea> </div> </li> </ul> </fieldset> <div class="buttons-set"> <button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"><span><span><?php echo $this->__('Submit Review') ?></span></span></button> </div> </form> <script type="text/javascript"> //<![CDATA[ var dataForm = new VarienForm('review-form'); Validation.addAllThese( [ ['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function(v) { var trs = $('product-review-table').select('tr'); var inputs; var error = 1; for( var j=0; j < trs.length; j++ ) { var tr = trs[j]; if( j > 0 ) { inputs = tr.select('input'); for( i in inputs ) { if( inputs[i].checked == true ) { error = 0; } } if( error == 1 ) { return false; } else { error = 1; } } } return true; }] ] ); //]]> </script> <?php else: ?> <p class="review-nologged" id="review-form"> <?php echo $this->__('Only registered users can write reviews. Please, <a href="%s">log in</a> or <a href="%s">register</a>', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?> </p> <?php endif ?></div>
安装完验证码之后需要修改app/design/frontend/base/default/template/productreviewcaptcha/form.phtml
<?php/** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * * @category design * @package base_default * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */?><div class="form-add"> <h2><?php echo $this->__('Write Your Own Review') ?></h2> <?php if ($this->getAllowWriteReviewFlag()): ?> <script type="text/javascript"> //<![CDATA[ var RecaptchaOptions = { theme : '<?php echo $this->getCaptchaTheme(); ?>', lang : '<?php echo $this->getCaptchaLang(); ?>', }; //]]> </script> <form action="<?php echo $this->getAction() ?>" method="post" id="review-form"> <fieldset> <?php echo $this->getChildHtml('form_fields_before')?> <h3><?php echo $this->__("You're reviewing:"); ?> <span><?php echo $this->htmlEscape($this->getProductInfo()->getName()) ?></span></h3> <?php if( $this->getRatings() && $this->getRatings()->getSize()): ?> <h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4> <span id="input-message-box"></span> <table class="data-table" id="product-review-table"> <col /> <col width="1" /> <col width="1" /> <col width="1" /> <col width="1" /> <col width="1" /> <thead> <tr> <th> </th> <th><span class="nobr"><?php echo $this->__('1 star') ?></span></th> <th><span class="nobr"><?php echo $this->__('2 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('3 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('4 stars') ?></span></th> <th><span class="nobr"><?php echo $this->__('5 stars') ?></span></th> </tr> </thead> <tbody> <?php foreach ($this->getRatings() as $_rating): ?> <tr> <th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th> <?php foreach ($_rating->getOptions() as $_option): ?> <td class="value"><input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" /></td> <?php endforeach; ?> </tr> <?php endforeach; ?> </tbody> </table> <input type="hidden" name="validate_rating" class="validate-rating" value="" /> <script type="text/javascript">decorateTable('product-review-table')</script> <?php endif; ?> <ul class="form-list"> <li> <label for="nickname_field" class="required"><em>*</em><?php echo $this->__('Nickname') ?></label> <div class="input-box"> <input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getNickname()) ?>" /> </div> </li> <li style="display:none"> <label for="summary_field" class="requiredx"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label> <div class="input-box"> <input type="text" name="title" id="summary_field" class="input-text required-entryx" value="<?php echo $this->htmlEscape($data->getTitle()) ?>" /> </div> </li> <li> <label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label> <div class="input-box"> <textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea> </div> </li> <li class="wide"> <div class="input-box"> <?php echo $this->getCaptchaCode(); ?> </div> </li> </ul> </fieldset> <div class="buttons-set"> <button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"><span><span><?php echo $this->__('Submit Review') ?></span></span></button> </div> </form> <script type="text/javascript"> //<![CDATA[ var dataForm = new VarienForm('review-form'); Validation.addAllThese( [ ['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function(v) { var trs = $('product-review-table').select('tr'); var inputs; var error = 1; for( var j=0; j < trs.length; j++ ) { var tr = trs[j]; if( j > 0 ) { inputs = tr.select('input'); for( i in inputs ) { if( inputs[i].checked == true ) { error = 0; } } if( error == 1 ) { return false; } else { error = 1; } } } return true; }] ] ); //]]> </script> <?php else: ?> <p class="review-nologged" id="review-form"> <?php echo $this->__('Only registered users can write reviews. Please, <a href="%s">log in</a> or <a href="%s">register</a>', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?> </p> <?php endif ?></div>
0 0
- 去掉 评论中的Summary of Your Review
- Summary of "Holding Your Objects"
- 如何去掉DedeCMS评论中的手形和表情图片
- 如何去掉DedeCMS评论中的手形和表情图片
- 如何去掉DedeCMS评论中的手形和表情图片
- 去掉wordpress功能中的登录,文章,评论,.org链接
- We are unable to complete the review of your app since one or more of your In App Purchases have not
- Summary of this part
- Summary of keyword synchronized
- SUMMARY OF JANE EYRE
- SUMMARY OF CREATIONAL PATTERNS
- SUMMARY OF STRUCTURAL PATTERNS
- Summary of Emacs Commands
- Simple summary of EJB
- Summary of Operators
- Summary of Variables
- Summary of Inheritance
- Summary of OSI layers
- RoboVM和libGDX的绑定[用java调用ios的静态库.a]
- 基于SymmetricDS的多主一从数据库同步方案
- java同步方法和同步代码块的区别
- The Industry’s Best Testing Tools of BlueTooth
- JavaWeb验证码代码
- 去掉 评论中的Summary of Your Review
- 学习计划第一步
- IOS-TextField知多少
- 欢迎关注微信公众账号PigCode
- Java多线程:ThreadPoolExecutor详解
- tomcat启动startup.bat一闪而过
- Ubuntu 安装 Sublime Text 3 及破解方法 Install Sublime Text 3 in Ubuntu via PPA
- cocos2dx几种菜单旋钮(CCMenu)的建立以及播放按钮的切换效果
- 深度学习资料整理(关键技术总结,斯坦福大学UFLDL教程)