Jump to content

php code aan header toevoegen


Recommended Posts

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:

 

<?php
class 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 scraped
require "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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...