The Rich Snippets Block. Show your Store-rating with this block and generate results in the Google Search Engine Results better known as Rich Snippets. Paste the code below at the desired location using a Static Block or a CMS page.
Custom Block. With this block you can create custom block for footer of header, you can paste the code below at the desired location using a Static Block or a CMS page. To edit this block you need to edit the .phtml file located in the following path: app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
Code: {{block type="kiyoh/custom" name="kiyoh"}}
]]>
+
+
+
+
+
\ No newline at end of file
diff --git a/app/code/local/Magmodules/Kiyoh/sql/kiyoh_setup/mysql4-install-1.0.0.php b/app/code/local/Magmodules/Kiyoh/sql/kiyoh_setup/mysql4-install-1.0.0.php
new file mode 100755
index 0000000..5aa56b0
--- /dev/null
+++ b/app/code/local/Magmodules/Kiyoh/sql/kiyoh_setup/mysql4-install-1.0.0.php
@@ -0,0 +1,103 @@
+startSetup();
+$installer->run(
+ "
+ DROP TABLE IF EXISTS {$this->getTable('kiyoh_reviews')};
+ CREATE TABLE IF NOT EXISTS {$this->getTable('kiyoh_reviews')} (
+ `review_id` int(10) NOT NULL AUTO_INCREMENT,
+ `shop_id` int(5) NOT NULL,
+ `company` varchar(255) DEFAULT NULL,
+ `kiyoh_id` int(5) NOT NULL,
+ `score` smallint(6) DEFAULT '0',
+ `score_q2` smallint(6) DEFAULT '0',
+ `score_q3` smallint(6) DEFAULT '0',
+ `score_q4` smallint(6) DEFAULT '0',
+ `score_q5` smallint(6) DEFAULT '0',
+ `score_q6` smallint(6) DEFAULT '0',
+ `score_q7` smallint(6) DEFAULT '0',
+ `score_q8` smallint(6) DEFAULT '0',
+ `score_q9` smallint(6) DEFAULT '0',
+ `score_q10` smallint(6) DEFAULT '0',
+ `customer_name` varchar(255) DEFAULT NULL,
+ `customer_email` varchar(255) DEFAULT NULL,
+ `customer_place` varchar(255) DEFAULT NULL,
+ `recommendation` tinyint(1) DEFAULT NULL,
+ `positive` text,
+ `negative` text,
+ `purchase` text,
+ `reaction` text,
+ `date_created` date NOT NULL,
+ `date_updated` date NOT NULL,
+ `sidebar` tinyint(1) NOT NULL DEFAULT '1',
+ `status` tinyint(5) NOT NULL DEFAULT '1',
+ PRIMARY KEY (`review_id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+ DROP TABLE IF EXISTS {$this->getTable('kiyoh_log')};
+ CREATE TABLE IF NOT EXISTS {$this->getTable('kiyoh_log')} (
+ `id` int(10) NOT NULL AUTO_INCREMENT,
+ `type` varchar(255) NOT NULL,
+ `shop_id` varchar(255) NOT NULL,
+ `company` varchar(255) DEFAULT NULL,
+ `review_update` int(5) DEFAULT '0',
+ `review_new` int(5) DEFAULT '0',
+ `response` text,
+ `order_id` int(10) DEFAULT NULL,
+ `cron` varchar(255) DEFAULT NULL,
+ `date` datetime NOT NULL,
+ `time` varchar(255) NOT NULL,
+ `api_url` text,
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+ DROP TABLE IF EXISTS {$this->getTable('kiyoh_stats')};
+ CREATE TABLE IF NOT EXISTS {$this->getTable('kiyoh_stats')} (
+ `id` int(5) NOT NULL AUTO_INCREMENT,
+ `company` varchar(255) DEFAULT NULL,
+ `shop_id` int(5) NOT NULL,
+ `score` smallint(6) DEFAULT '0',
+ `score_q2` smallint(6) DEFAULT '0',
+ `score_q2_title` varchar(255) NOT NULL,
+ `score_q3` smallint(6) DEFAULT '0',
+ `score_q3_title` varchar(255) NOT NULL,
+ `score_q4` smallint(6) DEFAULT '0',
+ `score_q4_title` varchar(255) NOT NULL,
+ `score_q5` smallint(6) DEFAULT '0',
+ `score_q5_title` varchar(255) NOT NULL,
+ `score_q6` smallint(6) DEFAULT '0',
+ `score_q6_title` varchar(255) NOT NULL,
+ `score_q7` smallint(6) DEFAULT '0',
+ `score_q7_title` varchar(255) NOT NULL,
+ `score_q8` smallint(6) DEFAULT '0',
+ `score_q8_title` varchar(255) NOT NULL,
+ `score_q9` smallint(6) DEFAULT '0',
+ `score_q9_title` varchar(255) NOT NULL,
+ `score_q10` smallint(6) DEFAULT '0',
+ `score_q10_title` varchar(255) NOT NULL,
+ `scoremax` smallint(6) DEFAULT '0',
+ `votes` int(5) DEFAULT '0',
+ PRIMARY KEY (`id`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+"
+);
+$installer->endSetup();
\ No newline at end of file
diff --git a/app/design/adminhtml/default/default/layout/magmodules_kiyoh.xml b/app/design/adminhtml/default/default/layout/magmodules_kiyoh.xml
new file mode 100755
index 0000000..1cdc5ae
--- /dev/null
+++ b/app/design/adminhtml/default/default/layout/magmodules_kiyoh.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ magmodules/kiyoh/grid.css
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/design/frontend/base/default/layout/magmodules_kiyoh.xml b/app/design/frontend/base/default/layout/magmodules_kiyoh.xml
new file mode 100755
index 0000000..0545f1b
--- /dev/null
+++ b/app/design/frontend/base/default/layout/magmodules_kiyoh.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+ magmodules/kiyoh/sidebar.css
+
+
+
+
+
+
+
+
+
+
+
+
+ page/2columns-left.phtml
+
+
+
+
+ magmodules/kiyoh/style.css
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ magmodules/kiyoh/richsnippets.css
+
+
+
+
\ No newline at end of file
diff --git a/app/design/frontend/base/default/template/magmodules/kiyoh/index.phtml b/app/design/frontend/base/default/template/magmodules/kiyoh/index.phtml
new file mode 100755
index 0000000..f822b1e
--- /dev/null
+++ b/app/design/frontend/base/default/template/magmodules/kiyoh/index.phtml
@@ -0,0 +1,154 @@
+
+getReviews();
+ $stats = $this->getStats();
+?>
+
__('Rating %s based on %s customer reviews', '' . $snippets->getPercentage() . '%', '' . $snippets->getVotes() . '') ?>getExternalLink(); ?>
+
+
+
+
diff --git a/app/etc/modules/Magmodules_Kiyoh.xml b/app/etc/modules/Magmodules_Kiyoh.xml
new file mode 100755
index 0000000..086dd02
--- /dev/null
+++ b/app/etc/modules/Magmodules_Kiyoh.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ true
+ local
+
+
+
\ No newline at end of file
diff --git a/app/locale/en_US/Magmodules_Kiyoh.csv b/app/locale/en_US/Magmodules_Kiyoh.csv
new file mode 100755
index 0000000..9ce3ded
--- /dev/null
+++ b/app/locale/en_US/Magmodules_Kiyoh.csv
@@ -0,0 +1,126 @@
+"%s - Repsonse: %s","%s - Repsonse: %s"
+"%s new review(s)","%s new review(s)"
+"%s review(s) updated","%s review(s) updated"
+"API CREDENTIALS","API CREDENTIALS"
+"Activate","Activate"
+"Active","Active"
+"Add Rich Snippets","Add Rich Snippets"
+"Add to Sidebar","Add to Sidebar"
+"Add to Sidebar Homepage","Add to Sidebar Homepage"
+"Api URL","Api URL"
+"Are you sure you want to cleanup logfiles?","Are you sure you want to cleanup logfiles?"
+"Are you sure you want to delete all reviews?","Are you sure you want to delete all reviews?"
+"Auto Cleaning","Auto Cleaning"
+"Based on %s reviews","Based on %s reviews"
+"Change only if necessary","Change only if necessary"
+"City","City"
+"Clean after Days","Clean after Days"
+"Cleanup Log","Cleanup Log"
+"Comma Separated, as: 10,20,30","Comma Separated, as: 10,20,30"
+"Company","Company"
+"Company ID","Company ID"
+"Company Import","Company Import"
+"Connector Code","Connector Code"
+"Cron","Cron"
+"Date","Date"
+"Delay","Delay"
+"Delete","Delete"
+"Delete all reviews","Delete all reviews"
+"Description","Description"
+"Email","Email"
+"Enable Log Function","Enable Log Function"
+"Enabled","Enabled"
+"Every 15 minutes","Every 15 minutes"
+"Every Hour","Every Hour"
+"Every other Hour","Every other Hour"
+"External (Kiyoh.nl)","External (Kiyoh.nl)"
+"General configuration","General configuration"
+"Internal (/kiyoh)","Internal (/kiyoh)"
+"Invitation","Invitation"
+"Invitation Call","Invitation Call"
+"Invitation to write the customer experience","Invitation to write the customer experience"
+"Kihoy.com","Kihoy.com"
+"KiyOh","KiyOh"
+"KiyOh Connect Permission Setting","KiyOh Connect Permission Setting"
+"KiyOh Custom Blocks","KiyOh Custom Blocks"
+"KiyOh Log Settings","KiyOh Log Settings"
+"KiyOh Overview Page","KiyOh Overview Page"
+"KiyOh Reviews Sidebar","KiyOh Reviews Sidebar"
+"Kiyoh","KiyOh"
+"Kiyoh Import Reviews","Kiyoh Import Reviews"
+"Kiyoh Logs","Kiyoh Logs"
+"Kiyoh Reviews","Kiyoh Reviews"
+"Kiyoh.nl","KiyOh.nl"
+"Last Update","Last Update"
+"Left","Left"
+"Left Sidebar","Left Sidebar"
+"Length of Reviews","Length of Reviews"
+"Link to","Link to"
+"Localisation","Localisation"
+"Magmodules","Magmodules"
+"Manual","Manual"
+"Maximum Delay","Maximum Delay"
+"Meta Data","Meta Data"
+"Meta Keywords","Meta Keywords"
+"Negative","Improvement Points"
+"No","No"
+"No reviews found...","No reviews found..."
+"None","None"
+"Number of Reviews","Number of Reviews"
+"Number of days to complete order may last, if it takes longer then no invitation will be sent. Read more about this feature on Kiyoh.nl.","Number of days to complete order may last, if it takes longer then no invitation will be sent. Read more about this feature on Kiyoh.nl."
+"Once a Day","Once a Day"
+"Once a Week","Once a Week"
+"Overall","Overall"
+"Please select item(s)","Please select item(s)"
+"Positive","Positive points"
+"Process Manually","Process Manually"
+"Rating %s based on %s customer reviews","Rating %s based on %s customer reviews"
+"Reaction","Reaction"
+"Recommend","Recommend"
+"Recommendation","Recommendation"
+"Remove from Sidebar","Remove from Sidebar"
+"Reviews","Reviews"
+"Reviews Cron","Reviews Cron"
+"Right","Right"
+"Right Sidebar","Right Sidebar"
+"Score","Score"
+"Set to invisible","Set to invisible"
+"Set to visible","Set to visible"
+"Send customers automatically receive an invitation to share a customer experience.","Send customers automatically receive an invitation to share a customer experience."
+"Send the invitation x days after the order is completed","Send the invitation x days after the order is completed"
+"Shop","Shop"
+"Sidebar",""Sidebar""
+"Stats Cron","Stats Cron"
+"Succefully deleted all %s saved review(s).","Succefully deleted all %s saved review(s)."
+"Suggestions","Suggestions"
+"Specify at which status you want to send the invitation. Default is ""Completed"".","Specify at which status you want to send the invitation. Default is ""Completed""."
+"Test API","Test API"
+"Time","Time"
+"Total of %d log record(s) deleted.","Total of %d log record(s) deleted."
+"Total of %d review(s) were added to the sidebar.","Total of %d review(s) were added to the sidebar."
+"Total of %d review(s) were disabled.","Total of %d review(s) were disabled."
+"Total of %d review(s) were enabled.","Total of %d review(s) were enabled."
+"Total of %d review(s) were removed from the sidebar.","Total of %d review(s) were removed from the sidebar."
+"Total of %s log record(s) deleted.","Total of %s log record(s) deleted."
+"This will ensure that the customer receives the invitation shortly after receiving the product and not before. This increases the opportunity that the client will share his experience.","This will ensure that the customer receives the invitation shortly after receiving the product and not before. This increases the opportunity that the client will share his experience."
+"Twice a Day","Twice a Day"
+"Type","Type"
+"Update Review History","Update Review History"
+"Update Reviews","Update Reviews"
+"Update Summary","Update Summary"
+"Url","Url"
+"Use the company email address registered with Kiyoh, this is used as en extra validation.","Use the company email address registered with Kiyoh, this is used as en extra validation."
+"Use Cronjob","Use Cronjob"
+"User","User"
+"View all reviews","View all reviews"
+"Webwinkel ID %s:","Webwinkel ID %s:"
+"Webwinkel ID %s: no updates found, feed is empty or not found!","Webwinkel ID %s: no updates found, feed is empty or not found!"
+"Write review","Write review"
+"Yes","Yes"
+"You can find this information in your Kiyoh account","You can find this information in your Kiyoh account"
+"You can only activate the Rich Snippets when this block is shown on your Homepage only","You can only activate the Rich Snippets when this block is shown on your Homepage only"
+"and total score updated.","and total score updated."
+"on","on"
+"total score updated","total score updated"
+"
The extension comes with two coded blocks. With this blocks you can add your store rating in a Static block or CMS page.
The Rich Snippets Block. Show your Store-rating with this block and generate results in the Google Search Engine Results better known as Rich Snippets. Paste the code below at the desired location using a Static Block or a CMS page.
Custom Block. With this block you can create custom block for footer of header, you can paste the code below at the desired location using a Static Block or a CMS page. To edit this block you need to edit the .phtml file located in the following path: app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
The extension comes with two coded blocks. With this blocks you can add your store rating in a Static block or CMS page.
The Rich Snippets Block. Show your Store-rating with this block and generate results in the Google Search Engine Results better known as Rich Snippets. Paste the code below at the desired location using a Static Block or a CMS page.
Custom Block. With this block you can create custom block for footer of header, you can paste the code below at the desired location using a Static Block or a CMS page. To edit this block you need to edit the .phtml file located in the following path: app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
"
+"When using both sidebars make sure you only activate the Rich Snippets for only one sidebar","When using both sidebars make sure you only activate the Rich Snippets for only one sidebar"
\ No newline at end of file
diff --git a/app/locale/nl_NL/Magmodules_Kiyoh.csv b/app/locale/nl_NL/Magmodules_Kiyoh.csv
new file mode 100755
index 0000000..7b41c47
--- /dev/null
+++ b/app/locale/nl_NL/Magmodules_Kiyoh.csv
@@ -0,0 +1,132 @@
+"%s - Repsonse: %s","%s - Antwoord: %s"
+"%s new review(s)","%s nieuwe beoordeling(en)"
+"%s review(s) updated","%s beoordeling(en) geupdate"
+"API CREDENTIALS","API Gegevens"
+"Activate","Activeren"
+"Active","Actief"
+"Add Rich Snippets","Voeg Rich Snippets toe"
+"Add to Sidebar","Sidebar toevoegen"
+"Add to Sidebar Homepage","Voeg toe aan sidebar op Homepage"
+"Api URL","Api URL"
+"Are you sure you want to cleanup logfiles?","Definitief de logfiles opschonen?"
+"Are you sure you want to delete all reviews?","Definitief alle beoordelingen verwijderen?"
+"Auto Cleaning","Automatisch opruimen"
+"Based on %s reviews","Gebaseerd op %s beoordelingen"
+"Change only if necessary","Verander alleen indien noodzakelijk"
+"City","Plaats"
+"Clean after Days","Opschonen na aantal dagen"
+"Cleanup Log","Schoonmaak log"
+"Comma Separated, as: 10,20,30","Komma gescheiden als: 10,20,30"
+"Company","Bedrijf"
+"Company ID","Bedrijfs ID"
+"Company Import","Bedrijfs import"
+"Connector Code","Connector code"
+"Cron","Cron"
+"Date","Datum"
+"Delay","Vertraging"
+"Delete","Verwijder"
+"Delete all reviews","Verwijder alle beoordelingen"
+"Description","Omschrijving"
+"Email","E-mail"
+"Enable Log Function","Activeer logfunctie"
+"Enabled","Activeer"
+"Every 15 minutes","Elke 15 minuten"
+"Every Hour","Elk uur"
+"Every other Hour","Om het uur"
+"External (Kiyoh.nl)","Extern (KiyOh.nl)"
+"General configuration","Algemene informatie"
+"Internal (/kiyoh)","Intern (/kiyoh)"
+"Invitation","Herinnering"
+"Invitation Call","Herinnering e-mail"
+"Invitation to write the customer experience","Herinnering om een beoordeling te schrijven"
+"Kihoy.com","KihOy.com"
+"KiyOh","KiyOh"
+"KiyOh Connect Permission Setting","KiyOh Connect permissie instellingen"
+"KiyOh Custom Blocks","KiyOh elementen"
+"KiyOh Log Settings","KiyOh log settings"
+"KiyOh Overview Page","KiyOh overzichtpagina"
+"KiyOh Reviews Sidebar","KiyOh beoordeling sidebar"
+"Kiyoh","KiyOh"
+"Kiyoh Import Reviews","KiyOh beoordelingen importeren"
+"Kiyoh Logs","KiyOh Logs"
+"Kiyoh Reviews","KiyOh beoordelingen"
+"Kiyoh.nl","KiyOh.nl"
+"Last Update","Laatste Update"
+"Left","Links"
+"Left Sidebar","Linker sidebar"
+"Length of Reviews","Lengte van beoordelingen"
+"Link to","Link naar"
+"Localisation","Lokalisatie"
+"Magmodules","Magmodules"
+"Manage Reviews","Beheer Beoordelingen"
+"Manage Log","Beheer Log"
+"Manual","Handleiding"
+"Maximum Delay","Maximale vertraging"
+"Meta Data","Meta Data"
+"Meta Keywords","Meta zoekwoorden"
+"Negative","Verbeterpunten"
+"No","Nee"
+"No reviews found...","Geen beoordelingen gevonden..."
+"None","Geen"
+"Number of Reviews","Aantal beoordelingen"
+"Number of days to complete order may last, if it takes longer then no invitation will be sent. Read more about this feature on Kiyoh.nl.","Aantal dagen dat een order oud mag zijn alvorens de herinnering wordt verstuurd, als het wijzigen van de orderstatus langer duurt wordt er niks verstuurd."
+"Once a Day","Eens per dag"
+"Once a Week","Eens per week"
+"Overall","Overall"
+"Please select item(s)","Selecteer item(s)"
+"Positive","Pluspunten"
+"Positive points:","Positieve punten:"
+"Process Manually","Voer handmatig uit"
+"Rating %s based on %s customer reviews","Beoordeling %s gebaseerd op %s klantbeoordelingen"
+"Reaction","Reactie"
+"Recommend","Aanbevolen"
+"Recommend:","Aanbevolen:"
+"Recommendation","Aanbeveling"
+"Remove from Sidebar","Verwijder van sidebar"
+"Reviews","Beoordelingen"
+"Reviews Cron","Beoordeling Cron"
+"Right","Rechts"
+"Right Sidebar","Rechter Sidebar"
+"Score","Score"
+"Set to invisible","Stel in als niet zichtbaar"
+"Set to visible","Maak zichtbaar"
+"Send customers automatically receive an invitation to share a customer experience.","Stuur klanten automatisch een e-mail met de herinnering om een beoordeling te schrijven."
+"Send the invitation x days after the order is completed","Stuur de herinnering een x aantal dagen nadat de geselecteerde status is bereikt."
+"Shop","Winkel"
+"Sidebar","Sidebar"
+"Stats Cron","Statistieken Cron"
+"Succefully deleted all %s saved review(s).","Alle %s opgeslagen beoordelingen zijn succesvol verwijdert."
+"Suggestions","Suggesties"
+"Suggestions:","Suggesties"
+"Specify at which status you want to send the invitation. Default is ""Completed"".","Specificeer vanaf welke status de herinnering verzonden dient te worden. Standaard is ""Completed""."
+"Test API","Test API"
+"Time","Tijd"
+"Total of %d log record(s) deleted.","Een totaal van %d log rij(en) zijn verwijdert."
+"Total of %d review(s) were added to the sidebar.","Een totaal van %d beoordeling(en) zijn aan de sidebar toegevoegd."
+"Total of %d review(s) were disabled.","Een totaal van %d beoordeling(en) zijn uitgeschakeld."
+"Total of %d review(s) were enabled.","Een totaal van %d beoordeling(en) zijn uitgeschakeld."
+"Total of %d review(s) were removed from the sidebar.","Een totaal van %d beoordeling(en) zijn verwijdert uit de sidebar"
+"Total of %s log record(s) deleted.","Een totaal van %s log rijen(s) verwijdert."
+"This will ensure that the customer receives the invitation shortly after receiving the product and not before. This increases the opportunity that the client will share his experience.","Dit zal ervoor zorgen dat de klant na ontvangst van het product nogmaals een uitnodiging ontvangt. Dit vergroot de kans dat de klant zijn ervaring zal delen."
+"Twice a Day","Tweemaal per dag"
+"Type","Type"
+"Update Review History","Update Beoordeling historie"
+"Update Reviews","Update beoordelingen"
+"Update Summary","Update samenvatting"
+"Url","Url"
+"Use the company email address registered with Kiyoh, this is used as en extra validation.","Gebruik het e-mail adres waarmee kiyOh geregistreerd staat, dit wordt gebruikt als extra validatie"
+"Use Cronjob","Gebruik Cronjob"
+"User","Gebruiker"
+"View all reviews","Bekijk alle beoordelingen"
+"Webwinkel ID %s:","Webwinkel ID %s:"
+"Webwinkel ID %s: no updates found, feed is empty or not found!","Webwinkel ID %s: geen updates gevonden, feed is leeg of niet beschikbaar."
+"Write review","Schrijf beoordeling"
+"Yes","Ja"
+"You can find this information in your Kiyoh account","Je kunt deze informatie vinden in je KiyOh account."
+"You can only activate the Rich Snippets when this block is shown on your Homepage only","U kunt deze optie enkel activeren wanneer de sidebar op de homepage wordt vertoond. Indien u ook gebruikt maakt van de homepage widget dan raden wij u aan deze optie uit te schakelen om dubbele Rich Snippets te voorkomen."
+"and total score updated.","totaal score geüpdate."
+"on","via"
+"total score updated","totaal score geüpdate"
+"
The extension comes with two coded blocks. With this blocks you can add your store rating in a Static block or CMS page.
The Rich Snippets Block. Show your Store-rating with this block and generate results in the Google Search Engine Results better known as Rich Snippets. Paste the code below at the desired location using a Static Block or a CMS page.
Custom Block. With this block you can create custom block for footer of header, you can paste the code below at the desired location using a Static Block or a CMS page. To edit this block you need to edit the .phtml file located in the following path: app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
Deze extensie komt met 2 verschillende blokken. Met deze blokken kan je de winkelbeoordeling in een static-block of CMS pagina plaatsen.
Het Rich Snippets blok. Toon de webwinkel-waardering met in blok en genereer hiermee de zogenaamde Rich Snippets waarbij de winkelbeoordelingen worden getoond in de Zoekmachine resultaten van bijvoorbeeld Google. Plaat de onderstaande code op de gewenste plaats in een statische blok of een CMS-pagina.
De code: {{block type=""kiyoh/snippets"" name=""kiyohsnippets""}}
Custom blok. Met dit custom blok is het mogelijk om eenvoudig een eigen blok creëren met daarin verschillende waardes als het aantal klanbeoordelingen, bedrijfsnaam en gemiddelde rating. Plaats de onderstaande code op de gewenste plek in een statisch blok of een CMS-pagina. Om dit blok naar wens te bewerken en eventueel aan te vullen met de geweneste informatie is het mogelijk om het .phtml bestand aan te passen. Deze is te vinden via de volgende path: app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
De code: {{block type=""kiyoh/custom"" name=""kiyoh""}}
"
+"Rating %s based on %s customer reviews","totaal %s tevreden klanten op basis van %s beoordelingen"
+"When using both sidebars make sure you only activate the Rich Snippets for only one sidebar","Zorg ervoor dat er maar 1 Rich Snippet actief is bij gebruik van beide sidebars."
\ No newline at end of file
diff --git a/modman b/modman
new file mode 100755
index 0000000..0a60800
--- /dev/null
+++ b/modman
@@ -0,0 +1,23 @@
+app/code/local/Magmodules/Kiyoh app/code/local/Magmodules/Kiyoh
+app/etc/modules/Magmodules_Kiyoh.xml app/etc/modules/Magmodules_Kiyoh.xml
+app/locale/en_US/Magmodules_Kiyoh.csv app/locale/en_US/Magmodules_Kiyoh.csv
+app/locale/nl_NL/Magmodules_Kiyoh.csv app/locale/nl_NL/Magmodules_Kiyoh.csv
+app/design/adminhtml/default/default/layout/magmodules_kiyoh.xml app/design/adminhtml/default/default/layout/magmodules_kiyoh.xml
+app/design/frontend/base/default/layout/magmodules_kiyoh.xml app/design/frontend/base/default/layout/magmodules_kiyoh.xml
+app/design/frontend/base/default/template/magmodules/kiyoh/index.phtml app/design/frontend/base/default/template/magmodules/kiyoh/index.phtml
+app/design/frontend/base/default/template/magmodules/kiyoh/sidebar/left.phtml app/design/frontend/base/default/template/magmodules/kiyoh/sidebar/left.phtml
+app/design/frontend/base/default/template/magmodules/kiyoh/sidebar/right.phtml app/design/frontend/base/default/template/magmodules/kiyoh/sidebar/right.phtml
+app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml app/design/frontend/base/default/template/magmodules/kiyoh/widget/custom.phtml
+app/design/frontend/base/default/template/magmodules/kiyoh/widget/richsnippets.phtml app/design/frontend/base/default/template/magmodules/kiyoh/widget/richsnippets.phtml
+skin/adminhtml/default/default/magmodules/kiyoh/grid.css skin/adminhtml/default/default/magmodules/kiyoh/grid.css
+skin/adminhtml/default/default/magmodules/kiyoh/star.png skin/adminhtml/default/default/magmodules/kiyoh/star.png
+skin/frontend/base/default/magmodules/kiyoh/images/5-stars-empty.png skin/frontend/base/default/magmodules/kiyoh/images/5-stars-empty.png
+skin/frontend/base/default/magmodules/kiyoh/images/5-stars-full.png skin/frontend/base/default/magmodules/kiyoh/images/5-stars-full.png
+skin/frontend/base/default/magmodules/kiyoh/images/bkg_rating.gif skin/frontend/base/default/magmodules/kiyoh/images/bkg_rating.gif
+skin/frontend/base/default/magmodules/kiyoh/images/greystar.png skin/frontend/base/default/magmodules/kiyoh/images/greystar.png
+skin/frontend/base/default/magmodules/kiyoh/images/logo.png skin/frontend/base/default/magmodules/kiyoh/images/logo.png
+skin/frontend/base/default/magmodules/kiyoh/images/star.png skin/frontend/base/default/magmodules/kiyoh/images/star.png
+skin/frontend/base/default/magmodules/kiyoh/richsnippets.css skin/frontend/base/default/magmodules/kiyoh/richsnippets.css
+skin/frontend/base/default/magmodules/kiyoh/sidebar.css skin/frontend/base/default/magmodules/kiyoh/sidebar.css
+skin/frontend/base/default/magmodules/kiyoh/style.css skin/frontend/base/default/magmodules/kiyoh/style.css
+
diff --git a/skin/adminhtml/default/default/magmodules/kiyoh/grid.css b/skin/adminhtml/default/default/magmodules/kiyoh/grid.css
new file mode 100755
index 0000000..7870465
--- /dev/null
+++ b/skin/adminhtml/default/default/magmodules/kiyoh/grid.css
@@ -0,0 +1,94 @@
+/*
+ * Magmodules.eu - http://www.magmodules.eu
+ *
+ * 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 info@magmodules.eu so we can send you a copy immediately.
+ *
+ * @category Magmodules
+ * @package Magmodules_Kiyoh
+ * @author Magmodules +^|8E~M;t<1W}CFUX|A%Or10TLt>NuVf73CR*tNH!*mgb-U%u^`GN
zq7)Pb)Da3QqfV)%6e;B#z_V1TWr_$Mz$ldg1?&ca_DAW??tb6*&htF)xwF~fVZo-x
zcE%VC#+1k9M4+n~`T$02(6@c|bT_)#B7xC}08T(sMJfoxlECp0z>|xlPy{5Br0wm1
zd@vY;Eiz#=63q`~h+#Qiq{rYjawW>fV0`>EN|87TLV$QkDpN4QiCaw|Ad@h`&nSE%
zUl{-;%D7q;B+!Nl#o8n>T>|>~0zMiBDjp{$T8%_N|HS*B
z!fIif5+X!EYB)tDMjMylsCT7g1gIbp0;_~DoV--U@I)Aa)rqhY2oO*KSH4IrQ|JwD
z3k*J=!BeOakwOgdI7|@Lz{_M32Af5pk-bPHB8|)@kpjtd8qqU|MGgogvpj=nEYcE}
z1B+ASkOEoaO8((`tjN_5gItMv=0GahK1dRzg5|(M(hS*(u@Hk+)LZ0AR*r?ZBA0*$
zL(sSOU#(s;q4T5PE)OnxSRQ>yfzG=M9qb>R3a_Bw3y;TP2{n(ZPIhe%3GYJJ3Mx
z@gg(mZkF*I0_7)k8Bv_WM;j}xSlK&rq7Io0x$D-9?Rp4~61Xwg_^AV{t%sbAwf=!m
zol7}wd+(?H?%VXZA!U;-&0)H`EWKx9hAADlDTXe;jSI_r_rR_as|ZM?8wBjs6<@O6
zb?(QqB8fgp<1Locbv$8o~B7TN=F>*`u_3cK<_lqgml7
z&-swj-#cU!OvdC<>oULA{?RvkFveqM)u|gS6DoVtbkxo23Pygv?m!N)+bzGZ{>$5x
z(Tv{kzLyuO1|5)Q`}SL(vO>NxmJX)d-kE5LyQ!&>(s(^n5BU6jT>&3tZ4SYpgeaBS^(6UA_UJ|?&8`x?T%;B##EHxuAV
zS0K-;x-H!G^0*VyY~F7&SwC7({#1M9{6o6WYmM$fMem59fXj)DjC`wYd@>*EeD8F~
zg*Q1lIn~kI>h@%`4P7%h%-$R+5UA_x>J;goc1#;1!y?hQ_eE
zX6EM2UbeOS7IzH`siku@)JK-aSSU&;bj{8^KNi}tb>n*Xvh?bj8iNSaO0i7V@#GZd
z?h(V7*w~u}*9&oBz0c!_(MA5c?bxyK&8tLfdmMdST6x?{_e4lZk#*;W(uvFQS;zKG
zb#{h$XVp{#wP*9+W@ch3G@1)5cCeJ_Dm&Wh%}Gx1-OR|Uyzcytiya@)`IZk0-@T@X
z#a!V(=Qj;mc%{aB`cHXHZxlgUabAsQN=h1vLY-ZtQYnre6+o4+{f@TYpPij`?0ml!
z>~OFhgU$209s8XUn+v0U{spP4w^`>pa9Gf2p9_}*BovoXE6PMP6QzP$4+U6lUL*bU(iO;o0o|-wdP{1+hEkT_*`W
znFYSXRfDwJ-EG&+OOH)fdYnl=&V8deT}Z35642Rn_3CGCa~AKh!Lxp=O)xi#z2=?@
RW;67^8eU)+r;Z(W@NXwIseJ$d
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/images/5-stars-empty.png b/skin/frontend/base/default/magmodules/kiyoh/images/5-stars-empty.png
new file mode 100755
index 0000000000000000000000000000000000000000..a7e5a167adf2787632f38d5a69249b5288ee77cc
GIT binary patch
literal 4742
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
XbWgtp-2&bE`De&j-yBKNyBhO9;P;MN
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/images/5-stars-full.png b/skin/frontend/base/default/magmodules/kiyoh/images/5-stars-full.png
new file mode 100755
index 0000000000000000000000000000000000000000..5d9f2a1c63e6f37322e8dcf51004f3e666c287b0
GIT binary patch
literal 7441
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
sXyLub;-HewEc=JY^L022hzp8x;=
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/images/bkg_rating.gif b/skin/frontend/base/default/magmodules/kiyoh/images/bkg_rating.gif
new file mode 100755
index 0000000000000000000000000000000000000000..fc62fef48b5bfdb4ca5441b9e0c01618aca29f74
GIT binary patch
literal 283
zcmZ?wbhEHb+&(|NsAIzy=h5
zvM@3*NHFMtBtdpMu+C6WOA0obH$&4%;MKkYo%1ER_bb-DuX+FffFP5D3Y*CC6RA75
zSTtQ&QR1~WYJCI~(>75_F7;!|PLX~J{2?^6?SVRTl2g)esXE6cQ7uo;QEN!bOXhEM2yI#mZHy*Q{N)enU7n1CyS!
Xt1DxIGRuw*4Mrvoc1C7(MFwjCgm{4E
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/images/greystar.png b/skin/frontend/base/default/magmodules/kiyoh/images/greystar.png
new file mode 100755
index 0000000000000000000000000000000000000000..6ed0aa970a59ff5e322cb12188fb62eac3f733fc
GIT binary patch
literal 1418
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
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/images/star.png b/skin/frontend/base/default/magmodules/kiyoh/images/star.png
new file mode 100755
index 0000000000000000000000000000000000000000..774161435416476a28e1f80d836853ca93107423
GIT binary patch
literal 1555
zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5!3HFyJAa%3Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^KDjP)EVYz|dIVz*yhVSl7_V%D~df&{P2mlz_GsrKDK}xwt{?0`hE?GD=Dctn~HE
z%ggo3jrH=2()A53EiLs8jP#9+bb%^#i!1X=5-W7`ij`p|xTF>*7iAWdWaj57fJ{tG
z$}cUkRRX#c;)UD-UthSvdBxCx0tT6WMPh-zp`L+$ZZ61QVAaJXL8%C5U{zflQdy9y
zACy|0Us{w5jE^*Bm}X$u;kO8+5a=2!m;B_?+|;}hPZwJypom^dW{Q=wxq+Ljxs#Kz
znT4sLp{t3brJ1R#nWdwVk%76ng^3$XuV-FyNn&1dDok%CLa!rUy;jaesfi`|MIrh5
zIk4CZ$jC3rFV4s>P;d@5Q_%2DOwP;$321@>7wXp3qRg_?6t|-MTm^9GSY={yfrXK?
ztAT;5vxSMP5zzIIHiSbPrE>w;6SKF~4xpr}QPYM2l(
z{eYP8gbU=rlYVL*FufN66Slbbnp_43rdCfE$B>F!bEbM{1UrhfrRTj`Z6~m6<+WE%
zOEvCBWUSckq7f3^8MI=NLI=Nqu7~;2ppUKHy9CRd`Y-s3?fTI8$jRJ^W&VP%ffssL
z7`kp*6p-aK`Aga#b=%^(efK;c9XLLBruFmv>F4GcPp_|yICD*N2+$TGSRWVnO-EEbJi(A#g
zRO`(Ly>oRmb}0MhdcQh3<@mOQ35luOoEl}@?uy#8osJ6TSKPE!Mo?mY#H(d`zZ_kZ
zJj+>Jgm&(^(N=da$%f^zagps!-|7V}YL^~`N}g0r^LerIjp&Vk6AriOFeUf5Z!XQd
zJV!I$p~JrE{yg3Nt?uHy#sxoRp6l>fU6DGnYVEndbAD(~Ot9&{G~My@t?%>Wl)qJ1
zo%|JIGGF}ejJkNAITQXjzI5q2{`jch@2qQ_-|bV17nL7vyU6}4?zQsb?a9ri-xuXx
zt?fHprZrnqu3}zA_4B%AoX0qg#5P8(ar??I^Lye{b%U9rv#q82^gkp|@KO89F*{cv
zhRO5s-XGzHoXt@Wf&zAaT$f_%)tpzQzq%-I>C+hAMOUW(&Rrjppe(uSnyA3yB!TZ2
z4>oye#Wvht)wd@!{+s{9?F`HeyIU1YNHF{qgKboFyt=akR{00fjz
A3jhEB
literal 0
HcmV?d00001
diff --git a/skin/frontend/base/default/magmodules/kiyoh/richsnippets.css b/skin/frontend/base/default/magmodules/kiyoh/richsnippets.css
new file mode 100755
index 0000000..25287dc
--- /dev/null
+++ b/skin/frontend/base/default/magmodules/kiyoh/richsnippets.css
@@ -0,0 +1,26 @@
+/*
+ * Magmodules.eu - http://www.magmodules.eu
+ *
+ * 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 info@magmodules.eu so we can send you a copy immediately.
+ *
+ * @category Magmodules
+ * @package Magmodules_Kiyoh
+ * @author Magmodules