IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Récupérer 1ère image d'un article dans un flux RSS


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de guenfood
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2004
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2004
    Messages : 255
    Points : 126
    Points
    126
    Par défaut Récupérer 1ère image d'un article dans un flux RSS
    Bonjour,

    J'ai installé un plugin sur mon site sous Wordpress, qui fonctionne essentiellement sur un script.
    Celui-ci me permet d'afficher des flux RSS dans un slider.
    Le hic, c'est que ce script ne semble prendre que l'image à la Une quand il y en a une.
    Je souhaiterais pouvoir le modifier et faire en sorte à ce que cela récupère la première image de l'article s'il n'y a pas d'image à la Une.
    Pour le moment, j'ai un plugin qui réussit à me prendre la première image d'un article (Feedzy Feeds RSS) mais qui ne me satisfait pas (pas de slider, présentation qui ne me convient pas).
    Mais n'y connaissant pas grand chose en javascript, je viens faire appel à vos services.

    Voici le script que je souhaite adapter pour parvenir à mes fins.
    Que faut-il ajouter (et où) pour y arriver ?
    Merci par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué Avatar de guenfood
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2004
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2004
    Messages : 255
    Points : 126
    Points
    126
    Par défaut
    Personne ?

    Je sais que le fichier est lourd à parcourir.

    je pense avoir trouvé la partie utilisée pour la récupération d'image.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    	// handle the sources
    		var handle_sources = function() {
    			// if no external sources - initialize with the local ones
    			if(settings.src.length == 0) {news_date_sort($lcnb_wrap_obj);}
     
    			var g_proxy = 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num='+ settings.max_news +'&callback=?&q=';
    			$.each(settings.src, function(index, v) {
    				var src_obj = this;
    				var params = '';
    				var to_call = '';
     
    				// find the url to call to get the data
    				switch(this.type) {
    if(this.type == 'rss' || this.type == 'pinterest') {
    					to_call = g_proxy + encodeURIComponent(to_call);
    				} 
     
    // fetch news from the sources	
    		var fetch_news = function(index, type, src, params, src_opts) {
     
    			// data to exclude 
    			var exclude = (typeof(settings.hide_elements) == 'undefined') ? '' : settings.hide_elements;
    			if(typeof(src_opts.hide_elements) == 'string') {exclude = exclude + ',' + src_opts.hide_elements.replace('date.', '');}
     
    			// fixed image
    			var fixed_img = (src_opts.img == undefined) ? false : src_opts.img; 
     
    			// images max sizes
    			var max_img_size = (typeof(src_opts.max_img_size) == 'object') ? src_opts.max_img_size : false; 
     
    			// regular expression to link textual URLs
    			var url_exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
     
    			// fetch
    			var dataType = (type == "facebook" || type == "twitter") ? "json" : "jsonp";
    			$.ajax({
    				url: src,
    				data: params,
    				dataType: dataType,
    				cache: settings.cache_news,
    				success: function(resp) {
    					var error = false;
    switch(type) {
    default: // rss and pinterest
     
    							if (resp.responseStatus == 200)  {resp = resp.responseData.feed.entries;}
    							else {error = resp.responseDetails;}
    							break;		 	
    					}
     
    default: // rss
     
    									// if an image is specified in mediaGroup - override main one
    									if(!fixed_img) {
    										if(
    											typeof( news.mediaGroups) != 'undefined' &&
    											typeof( news.mediaGroups[0].contents) != 'undefined' &&
    											typeof( news.mediaGroups[0].contents[0].thumbnails) != 'undefined' &&
    											typeof( news.mediaGroups[0].contents[0].thumbnails[0].url ) != 'undefined'
    										) {
    											fixed_img = news.mediaGroups[0].contents[0].thumbnails[0].url;
    											var forced_fixed_img = true;
    										}
    									}
     
    									var fixed_date = normalize_date_str(news.publishedDate);
    									var d = new Date(fixed_date);
    									var managed_data = man_feed_descr( $.trim(news.content), fixed_img, max_img_size, settings.src[index].strip_tags, settings.src[index].remove_tags, true);
     
    									var news_obj = {
    										time	: d.getTime(),
    										date 	: fixed_date,
    										title	: news.title,
    										txt		: managed_data.txt,
    										link	: news.link,
    										s_link	: news.link,
    										img		: managed_data.img
    									};
     
    									if(typeof(forced_fixed_img) != 'undefined') {
    										fixed_img = false;	
    									}
    									break;		 	
    							}

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/05/2014, 14h06
  2. [XML] [RSS] Insérer une image dans un flux RSS
    Par nicerico dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 17/09/2007, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo