Jump to content
thirty bees forum

datakick

Administrators
  • Posts

    2,910
  • Joined

  • Last visited

  • Days Won

    437

Everything posted by datakick

  1. Thanks @slick_303 for sharing this. I think that date condition shouldn't be there at all, though. Number of unapproved reviews is a snapshot metric. We can't really create a sql to determine how many unapproved reviews were at any given time (or time interval). It doesn't make sense to filter on review date here. Different situation would be if we were interested in number of newly created reviews. That we can measure for any time interval. This date condition will filter out unapproved reviews that are older than from date. So the metric can say there are 1 unapproved review, but in fact when you click on the link you can see more. The same applies for original code for productcomments reviews.
  2. @wakabayashi hmmm, productcomments module doesn't save emails for reviews created by guests, so when I import these reviews I don't have anything to store to email field. That will later cause this problem. I'll come with some solution. Meanwhile, you can edit file sql/migrate-productcomments.sql and replace COALESCE(`cust`.`email`, '') with COALESCE(`cust`.`email`, 'my-email-address@gmail.com') And then reimport product comments reviews. This will associate guest reviews with 'my-email-address@gmail.com'. Replace this email with your own, or use some throwaway
  3. Also, maybe use dateupd field instead of dateadd, to count old reviews that needs to be re-approved
  4. @slick_303 you didn't properly escape deleted and validated fields. Use this sql: (new DbQuery()) ->select('COUNT(*)') ->from('revws_review') ->where('`deleted` = 0') ->where('`validated` = 0') ->where('`date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" ')
  5. get rid of shop restriction and it should work
  6. @slick_303 said in [Free Module]Revws - Product Reviews: @datakick Is there a way to change the css look of the js popups? You know, those grayish/rose colored guys... the js app depends on this library that uses jss instead of css. So it's not possible to extract css, but we can set palette for the components. I plan to add this option to settings page. I think normal users will prefer to set colors in UI instead of via css. It's definitely not a best way for power users, but they have an option to rebuild js app with their own settings if they wish. @luv said in [Free Module]Revws - Product Reviews: 2) In product list review displayed upon hover other wise hidden. How to do that. You can copy css file /modules/revws/views/css/front.css to /themes/<THEME>/css/modules/revws/revws.css and modify it as you see fit. For example you can try to add this to the end: ``` .revws-product-list { transition: opacity 200ms ease; opacity: 0; } .product-container:hover .revws-product-list { opacity: 1; } ``` 3) Can you add a feature in review display tab for customer who have made a purchase as "Verified Buyer" below name. (It is going to make review more trustworthy). A small feature but very powerful. Sure, nice idea. 4) I see in setting tap Review request. did not understand what it does. Does that send review request mail to the customer. If it is so, this module is a gem. If not please consider adding. Sorry, not a gem yet :) When logged-in customer goes to My Reviews in My Account, he will be asked to review recently purchased products. This option only limits max number of displayed products. Revws module will never contain ask by email functionality. But I'm (slowly) developing another module for this.
  7. thanks @chandra, unfortunately that didn't help much. The problem is that the javascript file (back_app.js) with the application is not loaded into your page, for some reason. It's probably issue with url (possibly caused by your multistore configuration), or it could be problem with your server settings (for example some .htaccess rule that prevents downloading this file), or anything else. I can't really tell without access to your backoffice. If you manage to set up test instance, let me know. Thank you
  8. Hi @30knees, datakick module has it's own expression language. Expressions are something like excel formulas, and you can find them everywhere in my module (if you look hard enough). In lists (csv export), xml templates, mass updates, and even imports. I will show you how expression works on List example. I will create a list that will show products and their reviews. To start, create a list based on Products collection, and then in dataset tab join Review collection: Now we have list displaying all my products with their review. Something like this: In left column you will find any field from both products and reviews, and you can add it to list output. But you can also edit column, and change it's expression. For example, when I click on Review Title column in left panel, I get this As you can see, expression says revwsReview.title. revwsReview is collection alias of Review collection, and title is field from this collection. This is the easiest expression possible, it simply returns review title. But we can change it, for example to: products.name + ': ' + toLowerCase(revwsReview.title) This will make the column display name of the product concatenated with review title, in lowercase: And we can do some crazy stuff, there are plenty of function you can use. We have conditionals: if(products.basePrice < 100, 'cheap', 'expensive') will show text cheap/expensive based on product price arithmetics: (products.basePrice - products.wholesalePrice) calculates your profit margin. string operations: replace(products.name, 'm', '-') will replace character m with dash in product name Now, you can use these expressions anywhere. Here we used them to format list output. But you can use them to define conditions as well - you can filter your list and show only subset of data. Or you can use them to highlight some rows - in above example I highlighted cheap stuff. And, you can use them else in the system. For example, in Mass Update. Now I'm getting back to your original question. Mass Updates To generate meta title, just create new mass update based on Products collection. First step is to define what products to update. By default, all products would be updated. To change this, switch to Dataset tab, and create a condition. I will create a condition that match only products with 'IBIZA' in name: The condition builder let you easily create some common conditions in UI. But if you want, you can always click on the condition, and change it whatever you want. Now, switch to the fields list, and find field you want to update. In our case, it's Meta title. Once you add it to list of Fields to update, click on in once again to edit: As you can see, the Update action is set to 'Set value', and New value is empty. If you have executed mass update now, it would set empty meta title. We don't want that. So, click on Action, and choose Custom expression. Now you can enter your update expression. For example product.name +' just for ' + round(toNumber(product.basePrice),0) + ' EUR' Mass update shows you how this will impact your data. In preview list, you see current value, and new value, so you can adjust your update expressions without actually modifying your data: Once you are satisfied, you can click on Execute Update button, and your products will be updated. Simple as that. You can, also, save this mass update and use it later. You can also schedule it to run every day or every hour, so your meta title will stay in sync with price. Parameters This is one thing that's very useful, but not very people knows about it. You can create a parameter and use it in expression. You will need to enter it's value when you run the mass update (or list,...). This let you create reusable mass update. I'll show on example. Say you want to add 20% profit margin to your product price. You can create mass update that will use wholesale(purchase) price to calculate product price using this expression: product.wholesalePrice * 1.2 Or, we can make this mass update generic, and create numerical parameter margin. Once we create this parameter, we can use it in our expressions: product.wholesalePrice * ((100 + runtime.margin)/100) Now, when you run this mass update, you will need to provide value for margin parameter, and this value will be used in expression during runtime (parameters are accessible using runtime alias) Following example don't show wholesale price, but it's $50. New base price = 50 * (100 + 40 / 100) = $70 Uff, that was long. I hope it answered your question :)
  9. @lesley sure, fallback to another (well configured) encryption mechanism would solve this problem. There should also be some warning in back office to inform administrator that config is not in valid state.
  10. @lesley yes. There was invalid Rijndael key/vector in config file which caused the error. I simply switched ciphering method directly in database: update <DB_PREFIX>_configuration set value=0 where name = ‘PS_CIPHER_ALGORITHM’
  11. What was the last thing you did? Did you install some module, made some changes using ftp?
  12. Although the protection probably won't help much, I don't think it's the root cause of this problem. I based this on Internal Server Error message, which is usually php problem. Did you look to your php error log?
  13. New version 1.0.2 has been released. You can now migrate review and criteria settings from native product comments module.
  14. @chandra could you give me access to your shop, so I could look this?
  15. @chandra that means that module has been installed, but javascript application wasn't loaded. Try to clear cache (both browser, and in thirtybees in Advanced Parameters > Performance). If this does not help, please open developer console, open Product reviews, and look for errors in Console / Network tab
  16. @chandra is it really during install? Could you please check if there's a menu entry Catalog > Product reviews?
  17. Is there a way to import the current reviews from the stock Product Comments module? No, currently not. I'll look what I can do I hope I'm not being to forward, but I forked your module, and made a couple of Pull Requests, do with what you will.... Awesome! Thanks @SLiCK_303 . That's why it's an open source, so anyone can contribute
  18. @nickon sure.Currently I keep my backlog in asana, but that can't be made public. I'll migrate it to github issues
  19. I think it's time to close this topic. It's already very long and covers way too much - voting, feature discussion, implementation, testing,... I have released the first official version of this module, it's available on thirtybees store. New versions of module will be automatically published there. I've also created a new topic where we can discuss future / bugs etc of this module. I will later create yet another topic for email automation module (sorry, I haven't finished this one yet)
  20. Revws - Reviews module This topic is here to offer support for revws module. Continuation of this topic Links Download: you can download this module here Demo: you can test revws module on my demo account Front Office / Back Office Bugs and feature requests: if you find any problem, or if you would like to see some new functionality, please add it to issue tracker on github. Additional resources revwsrecent - very simple module to display recent reviews in tab on your homepage
  21. @nickon thanks for the suggestions. Most of these are already on my to-do list, with various priority. I will probably not add “write a review” under “add to cart” button when review already exists - to me it's just unnecessary clutter. From my point of view, if user wants to submit review, he will quickly find Create review button down on the page. More importantly, regular visitor do not want to write a review at all, this will be done mostly by customers that have recently purchased this product. I think you should optimize your product page for potential buyers, not for potential reviewers. For customers there will be the additional module that will send email and ask them to write a review for products they have purchased recently, and review link will take them to their customer account. But if you need this functionality, you can easily modify views/templates/hook/product_extra.tpl template
  22. @mockob send me file(s) to petr@getdatakick.com
  23. @nickon I bet you have debug mode enabled, right? In that case php code can emits error / warning and even notice messages to standard output. And it's a problem when that output is supposed to be valid json, because javascript code can't parse it when it's a mixture of html and json. Anyway, try this version and let me know if it helped.
  24. @30knees works fine here. I've tested it in chrome and firefox. What browser do you use? Maybe try clear cache / force reload page.
  25. Latest version of this module with some default email templates. I've also added translation strings to javascript app. So, if anyone is interesting in translating this module to your language, I'd be grateful. It's not an easy task, there are ~200 strings + 16 email templates, so it may take some time. I'll translate it to czech
×
×
  • Create New...