Skip to main content

Mapping of XML feeds conditionally using Feed Importer In Drupal 7

Map XML feeds on some basic conditions without using feeds tamper module

First, take a look at an example

<images>
   <image type="file">https://s3.amazon.com/example1.pdf</image>
   <image type="file">https://s3.amazon.com/example3.pdf</image>
   <image type="file">https://s3.amazon.com/example2.pdf</image>
   <image type="image">https://s3.amazon.com/example.jpg</image>
</images>


Case 1: If you want to import only those feeds that has type "image" then your XML Parser settings should be like Images/Image[./@type = 'image']

Case 2: Import feeds that has not file type then Images/Image[./@type != 'file']


Example 2:  

<item>
  <enclosure url="http://www.example.com/path-to-image/image1.jpg" type="image/jpeg"/>
  <enclosure url="http://www.example.com/path-to-image/image2.jpg" type="image/jpeg"/>
  <enclosure url="http://www.example.com/path-to-image/image3.jpg" type="image/jpeg"/>
  <title>Demo title 1</title>
</item>

Under XPath XML parser settings we have this set as an query to retrieve those images
field_feed_image: enclosure[1]/@url
field_feed_image: enclosure[2]/@url
field_feed_image: enclosure[3]/@url


Reference Site: https://www.drupal.org/node/1108220


Comments

Popular posts from this blog

Add JS to the bottom of the page in Drupal 7

How to add JS at bottom of a particular page in Drupal 7 Step 1: Get the page id. In case of front page "is_front"  Step 2: In template.php file of your theme add the below code : function illume_preprocess_page(&$variables) { if ($variables['is_front']) { drupal_add_js(path_to_theme().'/js/util.js', array('type' => 'file', 'scope' => 'footer')); drupal_add_js(path_to_theme().'/js/main.js', array('type' => 'file', 'scope' => 'footer')); drupal_add_js(path_to_theme().'/js/slideimage.js', array('type' => 'file', 'scope' => 'footer')); $variables['bottom_scripts'] = drupal_get_js(); } } This way you can add JS file using drupal_add_js() and define scope as footer. Step 3: Now you can use bottom_script variable to the page tpl file where you want to add JS print $bottom_scripts;

Use Case Diagram for Online Book Store

Main menu dropdown parent item clickable in Drupal 8 using Bootstrap 4

 Edit menu--main.html.twig template file {# /**  * @file  * Bootstrap Barrio's override to display a menu.  *  * Available variables:  * - menu_name: The machine name of the menu.  * - items: A nested list of menu items. Each menu item contains:  *   - attributes: HTML attributes for the menu item.  *   - below: The menu item child items.  *   - title: The menu link title.  *   - url: The menu link url, instance of \Drupal\Core\Url  *   - localized_options: Menu link localized options.  *   - is_expanded: TRUE if the link has visible children within the current  *     menu tree.  *   - is_collapsed: TRUE if the link has children within the current menu tree  *     that are not currently visible.  *   - in_active_trail: TRUE if the link is in the active trail.  */ #} {% import _self as menus...