animuz1 Posted October 28, 2015 Share Posted October 28, 2015 Ik zit nu al een paar dagen aan het klooien om de sterren in de organische zoekresultaten werkend te krijgen. Ik heb van feedbackcompany een link gekregen van een derde partij die aangeeft de volgende code in de header te zetten: <?phpclass reviews{ public function getFeedbackcompany( $url ) { $data = $this->getURLContent( $url ); // Get average $regexp = '<span class=\"average\">(.*)<\/span>'; if(preg_match_all("/$regexp/siU", $data, $matches)) { $average = trim($matches[1][0]); } // Get best $regexp = '<span class=\"best\">(.*)<\/span>'; if(preg_match_all("/$regexp/siU", $data, $matches)) { $best = trim($matches[1][0]); } // Get number of reviews // $regexp = '<div class=\"reviewSnipContent">.*Klanten.*beoordelen.*Gebaseerd.*op (.*)<\/div>'; $regexp = '<span class=\"votes count\">(.*)<\/span>'; if(preg_match_all("/$regexp/siU", $data, $matches)) { $reviews = explode(" ",trim($matches[1][0])); $reviews = $reviews[0]; } return array ("Gemiddelde" => $average,"beste" => $best,"reviews" => $reviews); } }?> en dit in het index bestand: <?php// Include de class die de data scrapedrequire "reviews.class.php";// Vul hier de volledige URL van je reviewpagina in$reviewUrl = 'https://beoordelingen.feedbackcompany.nl/NL-NL/My-iCover.html';// Kies de juiste functie. Verzamel je reviews op Trustpilot, dan kies je uiteraard voor getTrustpilot$a = new reviews();// $b = $a->getTrustpilot($reviewUrl);// $b = $a->getFeedbackcompany($reviewUrl);// $b = $a->getKlantenvertellen($reviewUrl);// $b = $a->getEkomi($reviewUrl);// $b = $a->getWebwinkelkeur($reviewUrl);$b = $a->getFeedbackcompany($reviewUrl);?><div itemscope itemtype="http://schema.org/LocalBusiness"> <h1 span itemprop="name">My-iCover.nl</h1> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <span itemprop="ratingValue"><?php echo $b['average']; ?></span> van <span itemprop="bestRating"><?php echo $b['best']; ?></span> gebaseerd op <span itemprop="ratingCount"><?php echo $b['reviews']; ?></span> reviews </div></div> Ik heb geprobeerd om de gegevens in header.tpl en index.php te doen, alleen krijg ik dan op de voorpagina van mijn site de code te zien. Kan ik wel php code in een tpl bestand toevoegen? Hoe moet ik dit oplossen? Link to comment Share on other sites More sharing options...
animuz1 Posted October 29, 2015 Author Share Posted October 29, 2015 Je kunt geen hele lappen PHP-code toevoegen aan een .tpl. Wel kun je enkele functies uitvoeren vanuit Smarty, maar het is geen goede plaats om veel logica aan toe te voegen vanwege de MVC-architectuur van PrestaShop: http://doc.prestashop.com/display/PS16/Fundamentals+of+PrestaShop+Development Ik kan uit de code niet goed afleiden of er uiteindelijk een gehele HTML-pagina zichtbaar wordt. In dat geval kun je de php-code in een aparte map plaatsen en een iframe toevoegen aan je .tpl. Het makkelijkste is om een module aan te schaffen: http://addons.prestashop.com/en/advertising-marketing-newsletter-modules/17531-feedback-company-review.html Mijn doel is om in de organic search resultaten de sterren te zien. De module die je naar toe linkt heb ik al gekocht, alleen ondersteunt het niet de sterren in de organise resultaten (nog niet iig). Ik heb inmiddels de makers gevraagd of ze het uit kunnen breiden, ben benieuwd wat hun antwoord zal zijn. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now