Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajouter une image pour les meta types ogg ou twitter #483

Open
Philippe-M opened this issue Aug 28, 2020 · 3 comments
Open

Ajouter une image pour les meta types ogg ou twitter #483

Philippe-M opened this issue Aug 28, 2020 · 3 comments
Labels
changes new features
Milestone

Comments

@Philippe-M
Copy link
Contributor

Lorsqu'on partage un lien sur facebook, twitter ou autre une balise spécifique est utilisé par ces plateformes pour afficher une image :

Ajouter dans header.php du thème

<meta property="og:image" content="<?php $plxShow->urlRewrite() ?><?php echo $plxShow->pageThumbnail(); ?>" />
<meta property="twitter:image" content="<?php $plxShow->urlRewrite() ?><?php echo $plxShow->pageThumbnail(); ?>" />

Ajouter dans la class plxShow

	/**
	 * Méthode qui affiche l'image d'accroche de la page selon le mode
	 *
	 * @scope	global
	 * @author	Philippe M
	 **/
	public function pageThumbnail() {

		# Hook Plugins
		if(eval($this->plxMotor->plxPlugins->callHook('plxShowPageThumbnail'))) return;

		if($this->plxMotor->mode == 'home') {
			$thumbnail = '';
		}
		elseif($this->plxMotor->mode == 'categorie') {
			$thumbnail = $this->plxMotor->aCats[$this->plxMotor->cible]['thumbnail'];
		}
		elseif($this->plxMotor->mode == 'article') {
			$thumbnail = $this->plxMotor->plxRecord_arts->f('thumbnail');
		}
		else { # mode par défaut
			$thumbnail = '';
		}

		return $thumbnail;
	}

Comme est construite la fonction seul les pages de catégories et d'articles gère une image. A voir pour la page d'accueil et les autres pages comment faire.

@bazooka07
Copy link
Collaborator

Pour un code plus efficace :

public function pageThumbnail() {

	# Hook Plugins
	if(eval($this->plxMotor->plxPlugins->callHook('plxShowPageThumbnail'))) return;

	switch($this->plxMotor->mode) {
		case 'categorie': return $this->plxMotor->aCats[$this->plxMotor->cible]['thumbnail']; break;
		case 'article' :  return $this->plxMotor->plxRecord_arts->f('thumbnail'); break;
		default : return '';
	}
}

Sinon dans la prochaine version de PluXml il y a :

  • $plxShow->catThumbnail(..)
  • $plxShow->artThumbnail(..)
  • $plxMotor->aConf['thumbnail']

@Philippe-M
Copy link
Contributor Author

On est d'accord bien plus efficace avec un switch mais j'ai voulu garder la coohérence avec le code déjà en place des autres fonctions.

@Philippe-M
Copy link
Contributor Author

Philippe-M commented Aug 31, 2020

Une autre version qui intègre la gestion du type mime et de la dimension de l'image

	public function pageThumbnail() {

		# Hook Plugins
		if(eval($this->plxMotor->plxPlugins->callHook('plxShowPageThumbnail'))) return;

		if($this->plxMotor->mode == 'home') {
			$thumbnail = '';
		}
		elseif($this->plxMotor->mode == 'categorie') {
			$thumbnail['thumbnail'] = $this->plxMotor->aCats[$this->plxMotor->cible]['thumbnail'];
			list($thumbnail['width'], $thumbnail['height']) = getimagesize("$thumbnail[thumbnail]");
			$thumbnail['mime'] = mime_content_type($thumbnail['thumbnail']);
		}
		elseif($this->plxMotor->mode == 'article') {
			$thumbnail['thumbnail'] = $this->plxMotor->plxRecord_arts->f('thumbnail');
			list($thumbnail['width'], $thumbnail['height']) = getimagesize("$thumbnail[thumbnail]");
			$thumbnail['mime'] = mime_content_type($thumbnail['thumbnail']);
		}
		else { # mode par défaut
			$thumbnail = '';
		}

		return $thumbnail;
	}

@haruka-7 haruka-7 added the changes new features label Sep 14, 2020
@haruka-7 haruka-7 added this to the PluXml 6.0 milestone Sep 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes new features
Projects
None yet
Development

No branches or pull requests

3 participants