How To Create Laravel Basic Package

ND_Spet

 

Here we are discussing and learn about ‘How to create Laravel basic package’. Hope you are aware of Laravel, don’t worry if not, you can learn the basic of Laravel from Laravel official site.

I tried to explain these things in a basic term so anybody can easily implement the basic skeleton of Laravel package.

Let’s we start point by point:

Every laravel package have common folder structure like: <vendorname>/<packagename>. You can create own folder ‘packages’ at root level OR you can create your folder under ‘vendor’ folder. I’ll use ‘vendor’ folder for this explanation.

  • Create package folder under ‘vendor’ directory(Folder name format: <vendor>/<vendorname>/<packagename>)

Here,  <vendorname> could be your name OR your company name. (I.e. addweb/sample)

  • Run composer init Command at after navigating to this folder in CLI and answer the composer questions for the first setup and create src folder like vendor/addweb/sample/src

At this point, a composer will gather basic require information about your package, create composer.json and put that information into it.

  • For local testing add this package path into app root composer.json under autoload[] like:
"psr-4": {
                "App\\": "app/",
                "Addweb\\Sample\\": "vendor/addweb/sample/src"
}

With this step, your package will get loaded using PSR-4 autoloading but for that, we need tell composer using the command, we will check it with next step.
NOTE: Step for package submit to packagist.org. We will discuss in next blog on How to deploy our package at packagist.org.

  • Autoload this package using composer dump-autoload at root folder CLI

By run above autoload command, we actually tell Composer to autoload the all require things from composer.json and looks for all of the classes it needs to include.

Laravel official document say’s: “Service providers are the central place of all Laravel application bootstrapping. Your own application, as well as all of Laravel’s core services, are bootstrapped via service providers”.

Means that service provider is we can say the heart of the application. So lets we move forward with creating our package service provider.

  • Create service provider using PHP artisan make: provide sample service provider at root folder CLI

As per this point, your package provider is generated with the basic skeleton, you can put some extra ingredient as per your requirement. But before it we need to move this provider file into our package folder: vendor/addweb/sample/src/sampleServiceProvider.php

  • Open that moved file and change namespace like namespace addweb\sample;

By default created skeleton need to change namespace with actual one so that composer will hook our provider class using the PSR-4 autoloading standard

Now let’s register our service provider with Laravel application.

  • Register our service provider into config/app.php into providers[] array. Here we need to add our service provider into providers[] like:
'providers' => [
    .
    .
    .

    /*
   * My Package Service Providers...
   */
    Addweb\Sample\SampleServiceProvider::class,

    .
    .
    .

]; 

 

Now, let create and register our testing route:

  • Create new routes.php into our package src folder to handle our package used the route and register that routes.php into our service provider boot() to initiate our package used routes:
routes.php
 
	<?php

	Route::get(‘firstroute’, function(){
	echoPrint from package’;
});

sampleServiceProvider.php
Public function boot(){
	//
	Include __DIR__.’/routes.php’;
}

 

Now our basic package is ready to server. Just Run PHP artisan serv at the root of your application folder and open that URL into your browser.

If you are using localhost then you can check link like localhost:8000/firstroute at your browser address bar.  Hope this helps you well, feel free to add your comments/feedbacks. Need more assistance regarding Laravel Development Service Get in touch today!

Original Posted: AddWeb Solution

Advertisements

Find Near By Location In Ionic 3 Using Google Map API

Find-nearby-location-in-ionic-3

Google nearby location:-

Maps are always needed for finding the nearby places for our daily routine work. Here is the simple example how we can use the google map API in ionic 3 application for finding the nearby places like: hospital, restaurant, bank, airport, library, gym, etc.

Google Maps API will be used to display the maps. There are lot of things you can do with the maps API like find the nearby places, get the direction between two places etc. We will explore how to apply place recommendations and suggestions using Google Places API.

Steps:

First, install the google map library using this.

npm install @types/googlemaps --save-dev

Now go to node_modules and then @types and inside that Google maps folder and add line

declare module 'googlemaps';

Now we will use the google map js library for getting informed about the places. So include the Google Map js file in the index.html file.

 

<script src="http://maps.google.com/maps/api/js?key=XXXXX=places"></script>

The above script needs the google map API key. Follow these steps:-

  • Go to https://console.developers.google.com
  • Create a new Google project and give an appropriate name to your project
  • Once you created a new project, it will redirect you to the API section and click the google maps Javascript API
  • Click the enable API. Then click the create credentials and click the what credentials do I need?
  • That’s all. It will give you the google map API key

Then install geolocation plugin in order to access the user location.

 

$ ionic cordova plugin add cordova-plugin-geolocation
$ npm install --save @ionic-native/geolocation

Now to import geolocation plugin in app.module.ts file.

 

import { Geolocation } from '@ionic-native/geolocation';      
@NgModule({    
     ...   
     providers: [  Geolocation   ]  
     ... })

 

Then import the Google maps class and geolocation plugin to the home.ts file.

import { Geolocation ,GeolocationOptions } from '@ionic-native/geolocation';

import { googlemaps } from 'googlemaps';

 

Now use the google map places API like this.

 let service = new google.maps.places.PlacesService(this.map);

Now add this code to your home.ts file.

import { Component, NgZone, ElementRef, ViewChild } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { Geolocation ,GeolocationOptions ,Geoposition ,PositionError } from '@ionic-native/geolocation';
import { googlemaps } from 'googlemaps';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})

export class HomePage {

  @ViewChild('map') mapElement: ElementRef;

  map:any;
  latLng:any;
  markers:any;
  mapOptions:any;  
  isKM:any=500;
  isType:any="";
 
  constructor(private ngZone: NgZone, private geolocation : Geolocation) { }

  ionViewDidLoad() {
    this.loadMap();
  }

  loadMap(){

    this.geolocation.getCurrentPosition().then((position) => {

this.latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

          console.log('latLng',this.latLng);
     
      this.mapOptions = {
        center: this.latLng,
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }   

this.map = new google.maps.Map(this.mapElement.nativeElement, this.mapOptions);

    }, (err) => {
      alert('err '+err);
    });

  }


 /*--------------------Find Nearby Place------------------------*/ 

  nearbyPlace(){
    this.loadMap();
    this.markers = [];
    let service = new google.maps.places.PlacesService(this.map);
    service.nearbySearch({
              location: this.latLng,
              radius: this.isKM,
              types: [this.isType]
            }, (results, status) => {
                this.callback(results, status);
            });
  }

  callback(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        this.createMarker(results[i]);
      }
    }
  }

  createMarker(place){
    var placeLoc = place;
    console.log('placeLoc',placeLoc);
    this.markers = new google.maps.Marker({
        map: this.map,
        position: place.geometry.location
    });

    let infowindow = new google.maps.InfoWindow();

    google.maps.event.addListener(this.markers, 'click', () => {
      this.ngZone.run(() => {
        infowindow.setContent(place.name);
        infowindow.open(this.map, this.markers);
      });
    });
  }

}

 

Now Add this code to your home.html file for selecting places type and places distance find nearby places.

<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Map
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
<ion-item>
<ion-label>Select Place</ion-label>
  <ion-select [(ngModel)]="isType" (ionChange)="nearbyPlace()">
  <ion-option value="">Select</ion-option>
      <ion-option value="hospital">Hospital</ion-option>
      <ion-option value="restaurant">Restaurant</ion-option>
      <ion-option value="bank">Bank</ion-option>
      <ion-option value="airport">Airport</ion-option>
      <ion-option value="library">Library</ion-option>
      <ion-option value="gym">Gym</ion-option>
    <ion-option value="atm">Atm</ion-option>
    <ion-option value="shopping_mall">Shopping Mall</ion-option>
    <ion-option value="police">Police Station</ion-option>
    <ion-option value="zoo">Zoo</ion-option>
  </ion-select>
</ion-item>

<ion-item>
<ion-label>Select Distance</ion-label>
  <ion-select [(ngModel)]="isKM" (ionChange)="nearbyPlace()">
  <ion-option value="500">Select</ion-option>
      <ion-option value="2000">2 KM</ion-option>
      <ion-option value="4000">4 KM</ion-option>
      <ion-option value="6000">6 KM</ion-option>
      <ion-option value="8000">8 KM</ion-option>
  </ion-select>
</ion-item>

<div #map id="map"></div>
    
</ion-content>

 

Hope this helps you well, feel free to add your comments/feedbacks. Need more assistance regarding Ionic App Development Get in touch today!

Book Flip 3D Animation Effect- Useful Tips From The Experts

3D Animation Effect
Introduction

This is a custom 3D animated effect for Menu/ catalog/Book/brochure can be kept on the restaurant websites and as a real menu card for displaying the varieties of food available at their place. In Web Design Service this menu card can also be used in other product based websites were the varieties can be displayed as a brochure.

Animation effects

Initially,  we can only see the cover of the folded menu, on click of the ‘view Inside’ option the menu unfolds to three-panel menu card. Simple CSS3/jQuery is used for folding and unfolding of the menu-card. On clicking an item in the unfolded menu, a small description of that item is popped up. A close button is provided to close the pop-up/menu-card.

Feature

  • Browsers compatible
  • Working on touchscreen devices
  • Need not to use any external js, script, and libraries
  • SCSS & CSS both codes are available
  • Easy to use

Below is the code used to implement the concept.

HTML:

<div class="main-container">
  <div id="#main-wraper" class="main-wraper">

    <!-- Menu card -->
    <div class="menu-card">
      <!-- Cover Page -->
      <div class="cover-page">
        <!-- Front Page -->
        <div class="front-page">
          <div class="front-content">
            <div class="food-menu-content">

              <!-- Add Body content -->

              <div class="view-menu">
                <a href="javascript:void(0);" class="open-btn">Look Inside &#8594</a>
              </div>
            </div>
          </div>
        </div>

        <!-- Front back Page -->
        <div class="front-page back-page">

          <!-- Add Body content -->

          <div class="side-overlay"></div>
        </div>
      </div>

      <!-- Middle Page -->
      <div class="middle-page">
        <div class="middle-page-content">
          <div class="middle-wraper">
            <div class="main-course-content">
              <div class="first-row">
                <a href="javascript:void(0);" class="popup">AngularJS Development Services</a>
              </div>
              <div class="first-row">
                <a href="javascript:void(0);">Custom Drupal Module Development</a>
              </div>
            </div>
          </div>
        </div>
        <div class="side-overlay"></div>
      </div>

      <!-- Right Page -->
      <div class="right-page">
        <!-- Right Blank Page -->
        <div class="right-blank-page"></div>

        <!-- Right Front Page -->
        <div class="right-front-page">
          <span class="close-btn"><i class="fa fa-times" aria-hidden="true"></i></span>

          <!-- Add Body content -->

          <div class="side-overlay"></div>
        </div>
      </div>
    </div>
    <!-- Menu card end -->

    <!-- After click content -->
    <div class="after-click-content">
      <div class="inner-content">
        <span class="after-close"><i class="fa fa-times" aria-hidden="true"></i></span>
        <h2>ANGULARJS DEVELOPMENT SERVICES</h2>
        <p>AngularJS is an open source structural framework for web application to create RICH Internet Applications. It predominates the development of dynamic and single page application and supporting MVC to develop client side applications.s</p>
      </div>
    </div><!-- After click end -->
  </div>
</div>

 

CSS:
 
(Get CSS code from  JSFiddle demo)

Javascript:
  // Open btn
  jQuery('.open-btn').click(function() {
    jQuery('.menu-card').addClass('menu-card-shadow');
    jQuery('.cover-page').addClass('cover-in');
    jQuery('.cover-page').removeClass('cover-out');
    jQuery('.right-page').addClass('right-in');
    jQuery('.right-page').removeClass('rigt-out');
    jQuery('.back-page, .right-front-page').addClass('flip-back-page');
  });

  // Close btn
  jQuery('.close-btn').click(function() {
    jQuery('.menu-card').removeClass('menu-card-shadow');
    jQuery('.cover-page').addClass('cover-out');
    jQuery('.cover-page').removeClass('cover-in');
    jQuery('.right-page').addClass('rigt-out');
    jQuery('.right-page').removeClass('right-in');
    jQuery('.back-page, .right-front-page').removeClass('flip-back-page');
    jQuery('.after-click-content').removeClass('after-click');
    jQuery('.menu-card').removeClass('bg-effect');
  });

  // After click on inner link effect
  // Open btn
  jQuery('.popup').click(function() {
    jQuery('.after-click-content').addClass('after-click');
    jQuery('.menu-card').addClass('bg-effect');
  });
  // Close btn
  jQuery('.after-close').click(function() {
    jQuery('.after-click-content').removeClass('after-click');
    jQuery('.menu-card').removeClass('bg-effect');
  });

 

Snapshots of the 3D menu card:

3D menu card cover
3D menu card unfolding
3D menu card unfolded
3D menu card popup (onclick of an item).

Please click here for Demo. Hope this helps you well, feel free to add your comments/feedbacks. Need more assistance regarding Web Design Service Get in touch today!

What Is Automation Script In Selenium IDE and How Does It Work

Selenium IDE
Original Post: AddWeb Solution

Currently, for the good quality of the website, Selenium IDE is used for regression testing. Everyone has to face problem to make an IDE script in below cases:-

  • Pagination
  • Mouseover
  • Drag And Drop

Here, we have described the usage of commands on your website for the above cases.

Steps to test pagination on your website with the Selenium IDE:

Scenario: These are the no. of pages or a Pagination, on which user wants to go.

1

Follow the below-mentioned steps:

Step-1:

  • Right click on the page no.
  • Select ‘Inspect in FirePath’.
  • Select the XPath is used for page no. 2
  • Copy shown XPath.
2

Step-2:

  • Go to Selenium Script table and use commands.
  • Command: click & Also you can use clickAndWait
  • Target: XPath of the page(as described above image)
  • Value: Value of page
3

Or else add a command to a source file as shown below.

4

Steps to test Mouseover on your website with the Selenium IDE

Scenario: Here, is the popup, which is opened while hovering the button.

5

Follow the below-mentioned steps:

Step-1:

  • Right-click on the Start New Search button. the XPath is used the button where shown. Copy it.
  • Select ‘Inspect in FirePath’.
  • The XPath is used for the button where shown.
  • Copy shown XPath.
6

Step-2:

  • Go to Selenium Script table use below commands.
  • Command: mouseOver
  • Target: XPath of a button (as described above image)
7

Or else add command in a source file as shown below.

8

Steps to use drag and drop command to move one location to another location in any Block

Scenario: Here is the Map, which is clickable in any area on a map to find clusters or  Take other Example like Review slider.

9

Step-1:

  • Drag anywhere on Map to check the clusters at any place.
  • Select ‘Inspect in FirePath’.
  • Copy the XPath of Map which is used to move from one place to another place on a map.
10

Step-2:

  • Go to Selenium Script table use below commands.
  • Command: dragAndDrop
  • Target : XPath of page(as described above image)
  • Value : Value of page  [(x-pixels),(y-pixels)]
11
12

Check below examples for more:

  • The Value of page (x-pixels and y-pixels) is the location to drag and drop the locator from one location to another location.
  • We can use the Value as –
  1. 20,30 which moves the location to 20 pixels right and 30 pixels upper on ma a in your system screen.
13

2. 20,-30  which moves the location to 20 pixels right and -30 pixels down on Map in your system screen.

14

3. -20,30  which moves the location to -20 pixels left and 30 pixels upper on Map in your system screen.

15

4. -20,-30  which moves the location to -20 pixels left and -30 pixels down on Map in your system screen.

16

Hope you find this info.regarding Selenium helpful and need more QA assistance then contact us now. Feel free to give your reviews on it.

Custom Next/Prev Thumb For Slick Slider

Next-previos Vivek_June
There are so many different types of jQuery sliders available these days, sliding horizontal panels, transition effects, patch down/up, fade in/out etc… jQuery Image sliders are great for grabbing a visitor’s attention immediately and showing them the key features of your business. jQuery content sliders can be used to elegantly show information about your business without scaring off visitors.

Here, we have discussed  Slick Slider. Most popular and free jQuery slider with lots of functions and callbacks. This will be the first choice for all frontend developers when they need some slider functions for web design service.

We have used here the features of a slick slider and added custom next/prev thumbs for NEXT and PREVIOUS images. A previous/next button is added for changing the slide. Other than that we have added below the slide image a small image thumb which can be used as the previous/next button. The image thumb contains the image present in the previous/next position. This feature helps to get rid of sliding throughout the slider to view the required slider. For responsive web design service, a small description of the slide that is active is also given it. We have used simple Html, CSS and Javascript code along with slick-slider plugins.

Note: Do not forget to include slick.css, slick-theme.css, and slick.js files other than below code.

HTML:
<section class="slideshow__slides slider">
    <div class="slider-image">
      <div class="image-wrap">
        <img src="images/img1.jpg" />
      </div>
      <div class="slider-caption-wrap">
        <div class="caption-details">
          <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
          tempor incididunt ut labore et dolore magna aliqua.</span>
        </div>
      </div>
    </div>
    <div class="slider-image">
      <div class="image-wrap">
        <img src="images/img2.jpg" />
      </div>
      <div class="slider-caption-wrap">
        <div class="caption-details">
          <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
          tempor incididunt ut labore et dolore magna aliqua.</span>
        </div>
      </div>
    </div>
    <div class="slider-image">
      <div class="image-wrap">
        <img src="images/img3.jpg" />
      </div>
      <div class="slider-caption-wrap">
        <div class="caption-details">
          <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
          tempor incididunt ut labore et dolore magna aliqua.</span>
        </div>
      </div>
    </div>
    <div class="slider-image">
      <div class="image-wrap">
        <img src="images/img4.jpg" />
      </div>
      <div class="slider-caption-wrap">
        <div class="caption-details">
          <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
          tempor incididunt ut labore et dolore magna aliqua.</span>
        </div>
      </div>
    </div>
    <div class="slider-image">
      <div class="image-wrap">
        <img src="images/img5.jpg" />
      </div>
      <div class="slider-caption-wrap">
        <div class="caption-details">
          <span>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
          tempor incididunt ut labore et dolore magna aliqua.</span>
        </div>
      </div>
    </div>
  </section>

 

CSS:
/* Slick slider Design */
.slider {
  position: relative;
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
}
.slick-slide img {
  width: 100%;
}
/* Slider Caption Design */
.slider-image {
  position: relative;
}
.slider-image .slider-caption-wrap {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  background-color: rgba(0, 0, 0, .5);
  color: #FFF;
  vertical-align: top;
}
.slider-image .slider-caption-wrap .caption-details {
  display: block;
  height: 100px;
  width: -webkit-calc(100% - 430px);
  width: -moz-calc(100% - 430px);
  width: -ms-calc(100% - 430px);
  width: calc(100% - 430px);
  margin: 0 auto;
  padding: 10px 0;
  overflow: auto;
  font-size: 16px;
  line-height: 1.4;
}
/* Slider thumbnails and Slider Nav Design */
.slick-thumb-nav img {
  width: 200px;
}
.slick-arrow {
  top: auto;
  bottom: 0;
  z-index: 9;
  display: inline-block;
  height: auto;
  width: auto;
  margin-bottom: 0;
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}
.slick-arrow.slick-prev {
  left: 0;
}
.slick-arrow.slick-next {
  right: 0;
}
.slick-arrow:before { display: none; }
.slick-arrow .arrow-icon {
  position: absolute;
  top: 0;
  height: 100%;
  width: 50px;
  background-color: rgba(0, 0, 0, .5);
  color: #FFF;
  font-size: 55px;
  opacity: 0;
  -webkit-transition: .5s all ease 0s;
  -moz-transition: .5s all ease 0s;
  -ms-transition: .5s all ease 0s;
  transition: .5s all ease 0s;
}
.slideshow__slides:hover .slick-arrow .arrow-icon {
  opacity: 1;
}
.slick-arrow .arrow-icon span {
  display: inline-block;
  padding: 50px 0;
  font-size: 55px;
}
.slick-arrow .arrow-icon.prev-slick-arrow {
  left: 0;
}
.slick-arrow .arrow-icon.next-slick-arrow {
  right: 0;
}
/* Slider dot design */
.slick-dots li button:before {
  font-size: 16px;
}

/**
 * Responsive design
 */
@media (max-width: 992px) {
  /* Slider Nav Design */
  .slick-arrow .arrow-icon { display: none; }
}
@media (max-width: 640px) {
  /* Slider thumbnails Design */
  .slick-thumb-nav img {
    width: 120px;
  }
  /* Slider Caption Design */
  .slider-image .slider-caption-wrap .caption-details {
    height: 60px;
    width: -webkit-calc(100% - 260px);
    width: -moz-calc(100% - 260px);
    width: -ms-calc(100% - 260px);
    width: calc(100% - 260px);
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  /* Slider thumbnails Design */
  .slick-thumb-nav img {
    width: 85px;
  }
  .slick-arrow .slick-thumb-nav {
    margin-bottom: 0;
  }
  .slick-prev .slick-thumb-nav {
    margin-left: 0;
  }
  .slick-next .slick-thumb-nav {
    margin-right: 0;
  }
  /* Slider Caption Design */
  .slider-image .slider-caption-wrap {
    position: relative;
    bottom: auto;
  }
  .slider-image .slider-caption-wrap .caption-details {
    height: 43px;
    width: -webkit-calc(100% - 185px);
    width: -moz-calc(100% - 185px);
    width: -ms-calc(100% - 185px);
    width: calc(100% - 185px);
    padding: 3px 0;
    font-size: 12px;
  }
}
@media (max-width: 380px) {
  /* Slider dot design */
  .slick-dots li { margin: 0; }
  .slick-dots li button:before {
    font-size: 12px;
  }
}

 

Javascript:
(function ($) {
  $(function() {

    // Slick slider for prev/next thumbnails images
    $('.slideshow__slides').slick({
      dots: true,
      slidesToShow: 1,
      autoplay: false
    });
    setTimeout(function() {
      $('.slick-prev').prepend('
'
); $('.slick-next').append('
>
'
); get_prev_slick_img(); get_next_slick_img(); }, 500); $('.slideshow__slides').on('click', '.slick-prev', function() { get_prev_slick_img(); }); $('.slideshow__slides').on('click', '.slick-next', function() { get_next_slick_img(); }); $('.slideshow__slides').on('swipe', function(event, slick, direction) { if (direction == 'left') { get_prev_slick_img(); } else { get_next_slick_img(); } }); $('.slick-dots').on('click', 'li button', function() { var li_no = $(this).parent('li').index(); if ($(this).parent('li').index() > li_no) { get_prev_slick_img() } else { get_next_slick_img() } }); function get_prev_slick_img() { // For prev img var prev_slick_img = $('.slick-current').prev('.slider-image').find('img').attr('src'); $('.prev-slick-img img').attr('src', prev_slick_img); $('.prev-slick-img').css('background-image', 'url(' + prev_slick_img + ')'); // For next img var prev_next_slick_img = $('.slick-current').next('.slider-image').find('img').attr('src'); $('.next-slick-img img').attr('src', prev_next_slick_img); $('.next-slick-img').css('background-image', 'url(' + prev_next_slick_img + ')'); } function get_next_slick_img() { // For next img var next_slick_img = $('.slick-current').next('.slider-image').find('img').attr('src'); $('.next-slick-img img').attr('src', next_slick_img); $('.next-slick-img').css('background-image', 'url(' + next_slick_img + ')'); // For prev img var next_prev_slick_img = $('.slick-current').prev('.slider-image').find('img').attr('src'); $('.prev-slick-img img').attr('src', next_prev_slick_img); $('.prev-slick-img').css('background-image', 'url(' + next_prev_slick_img + ')'); } // End }) })(jQuery);

 

Hope this solution would have helped you out for finding a quicker solution. 

Article Source: AddWeb Solution 

Your Personal Checklist For Hiring A Dedicated Drupal Developer

Hire Drupal Developer

The hunt for a decent Drupal developer has never been a child’s play. One, because Drupal in itself is a complex tool that requires a high-end expertise and hence Drupal developers are less in number as compared to others. And second, one also has to be technically literate to a certain extent, in order to sense their expertise and hire accordingly.

Well, you need not be scared, if you aren’t that well-versed about the tech-world. Especially, when you have AddWeb Solution to your rescue. We, being a pack of powerful Drupal-ers since 2012 and currently ranked at the 24th position in the marketplace of Drupal Service Provider, you know that you can put faith in our words. And as always, we’re more than happy to guide you through your search of a good Drupal developer.

Let us share a few pointers that have to be on your checklist while shortlisting a Drupal developer for yourself.

1) Profile on Drupal community:

What better recommendation of a Drupal developer than the one coming from Drupal’s official website itself?! And guess what, Drupal doesn’t bluff! It purely works on the merit basis, where the Drupal developers’ activeness in the community and their contribution is displayed. If one doesn’t have a profile on Drupal Community, you know you’ve to think twice before hiring them!

2) Certification:

“Skills, not degrees, take you far.” True. But when in the ever-changing techno-world, you can’t shun the significance of certificates that these software companies give. So, if you come across a certified Drupal developer by Acquia, you know you’ve found the best champ to hire.

3) Work Profile:

Remember, that work speaks for itself! Well, don’t let some fraud deceive you with pretty presentations and flattery words. Ask for their work profile and invest your time and energy over analyzing them. And you’ll soon be a judge yourself, whether to trust the person or not. No wonder why a lot of companies goes all boastful about their clientele.

4) Coding Languages:

“The more the merrier” is the mantra you need to follow while choosing a Drupal Developer with the knowledge of multiple coding languages. Since Drupal is built with the PHP language, it becomes mandatory for a Drupal developer to be well-versed in it. But knowing just PHP is also not enough, he needs to be multilingual when it comes to coding languages; majorly, SQL, MYSQL, JQuery, et al. And of course, not to forget ‘English’. It may not have any technical benefit attached to it, but it will surely enhance your communication with him!

5) Activeness on Drupal Community:

Drupal is a high-end open-source content-management framework, which is available free of cost. But the prominent reason behind its growth and flourishment is its community. People from all across the world, gather-up here and share their knowledge and queries here. A Drupal developer’s activeness here in this community also speaks for the wealth of his Drupal-related knowledge.

There may not be a guaranteed checklist to help you hire only the best of Drupal developers, but a few tips like these can always prevent you from a disastrous selection. And in case, you’re still stuck in your search; remember, our super-skilled Drupal developer’s team is just a call away!

May you have a happy ride, searching a decent Drupal developer!Article Source: AddWeb Solution