Forum Replies Created
-
AuthorPosts
-
Steven Zahm
Keymaster@ James
The issue is a server related. You need to have at least the GD image library installed. This library is nearly universally install on all web hosts so you McWilliams have to contact them to have them install it for you.
Hope this helps, let me know.
Steven Zahm
KeymasterCould be a temporary server glitch, please try again in 24 hours. If the issue persists,let me know.
The template will function just fine without being activated, the only feature that will not work until being activated is the ability to apply updates in your WP admin.
Steven Zahm
Keymaster@ Nishant
Sorry, no not presently. I’ve had something in the works for quite a while now that can but it is not really ready for release.
Steven Zahm
Keymaster@ Nathan
Apologies! … I should have pulled up the code and reviewed it and read your initial post more carefully before I replied. I had not realized that you added the function call to display the map to the
card.phpfile.It does indeed take more than that to make the map. The Google Maps are initiated using javascript. Doing this for Excerpt Plus is a little more complex because you do not want to init that map until the user clicks the entry to expand it. You also do not want to init it each time it is clicked making unnecessary calls to the Google Maps API (which would be slow and run up the api call count).
I can add this to the template and push out an update. I am am going to be away from the office most the week so I will not be able to tackle this until probably mid next week.
If you are familiar with javascript and want to give it a try in the meantime, here’s the javascript used in cMap. It can probably be adapted to work with Excerpt Plus:
jQuery(document).ready( function ($) { // Init Chosen for the enhanced select drop down. $( '#cn-cmap select.cn-enhanced-select' ).chosen(); // The `.toggle-div` and `.toggle-map` selector are for backwards compatibility with versions <= 5.2.1. $( 'a.cn-cmap-toggle, .toggle-div, .toggle-map' ).click( function(e) { var $this = $( this ); var uuid = getcMapUUID( $this ); var tray = getcMapTray( $this ); var type = getcMapTrayType( tray ); if ( $this.data( 'toggled' ) ) { $this.data( 'toggled', false ); $this.text( getcMapString( $this, 'show', type ) ); tray.slideUp(); } else { $this.data( 'toggled', true ); $this.text( getcMapString( $this, 'hide', type ) ); tray.slideDown(); if ( 'map' === type ) { var map = $( '#map-' + uuid ); initcMapGoogleMap( map ); } } e.preventDefault(); }); $( 'a.cn-cmap-accordion' ).click( function(e) { var $this = $( this ); var uuid = getcMapUUID( $this ); var tray = getcMapTray( $this ); var type = getcMapTrayType( tray ); // Hide all open content trays and reset the text to the "Show" string. $( '#entry-id-' + uuid + ' .cn-cmap-tab' ).slideUp( 'fast', function() { var tray = $( this ); var type = getcMapTrayType( tray ); var tab = $( '#' + type + '-anchor-' + uuid ); tab.text( getcMapString( tab, 'show', type ) ); }); // If the content tray being clicked is not open or "visible" open it and change the "Show" string. if ( tray.is( ':not(:visible)' ) ) { $this.text( getcMapString( $this, 'hide', type ) ); tray.slideDown(); if ( 'map' === type ) { var map = $( '#map-' + uuid ); initcMapGoogleMap( map ); } // If the content tray being clicked is already open or "visible" close it and change the "Show" string. } else { $this.text( getcMapString( $this, 'show', type ) ); tray.slideUp(); } e.preventDefault(); }); // Render map on single entry page var cnSingleMap = $( '#cn-gmap-single' ); if ( typeof cnSingleMap !== 'undefined' ) { var uuid = getcMapUUID( cnSingleMap ); var map = $( '#map-' + uuid ); initcMapGoogleMap( map ); } /** * Init the Google Map. * * @since 5.3 * * @param {object} map */ function initcMapGoogleMap( map ) { var fLatitude = 0; var fLongitude = 0; var strAddress = map.attr( 'data-address' ); var strMapType = map.attr( 'data-maptype' ); var intZoom = parseInt( map.attr( 'data-zoom' ) ); if ( map.attr( 'data-latitude' ) ) fLatitude = parseFloat( map.attr( 'data-latitude' ) ); if ( map.attr( 'data-longitude' ) ) fLongitude = parseFloat( map.attr( 'data-longitude' ) ); if ( fLatitude == 0 && fLatitude == 0 ) { map.goMap( { markers: [ { address: '\'' + strAddress + '\'' } ], zoom: intZoom, maptype: strMapType } ); } else { map.goMap( { markers: [ { latitude: fLatitude, longitude: fLongitude } ], zoom: intZoom, maptype: strMapType } ); } } /** * Get the entry UUID. * * @since 5.3 * * @param {object} object * * @returns {string} */ function getcMapUUID( object ) { // Attempt to get the map ID from the data attribute. var uuid = object.data( 'uuid' ); // If it is not found, look for the "legacy" data attribute for the map ID. if ( typeof uuid === 'undefined' ) { uuid = object.data( 'gmap-id' ); } return uuid; } /** * Backwards compatibility function to get the UUID by the element id attribute. * * @since 5.3 * * @param {string} id * * @returns {string} */ function getcMapUUIDFromID( id ) { return id.split( '-' ).pop(); } /** * Get content tray type. * * Backwards compatibility with <= 5.2.1. * * @since 5.3 * * @param (object} object * * @returns {string} */ function getcMapTrayType( object ) { var type = object.data( 'type' ); if ( typeof type === 'undefined' ) { type = getcMapTrayTypeByID( object.attr( 'id' ) ); } return type; } /** * Backwards compatibility function to get the content tray type by the element id attribute. * * @since 5.3 * * @param {string} id * * @returns {string} */ function getcMapTrayTypeByID( id ) { return id.split( '-' ).shift(); } /** * Get a content tray element. * * Backwards compatibility with <= 5.2.1. * * @since 5.3 * * @param {jQuery} object * * @returns {*|jQuery|HTMLElement} */ function getcMapTray( object ) { var trayID = object.data( 'div-id' ); var tray = $( '#' + trayID ); // For backward compatibility with <= 5.2.1. if ( ! tray.length ) { tray = getcMapTrayByID( object.attr('id') ); } return tray; } /** * Backwards compatibility function to get content tray jQuery element by ID. * * @since 5.3 * * @param {string} id * * @returns {*|jQuery|HTMLElement} */ function getcMapTrayByID( id ) { var div; var type = getcMapTrayTypeByID( id ); switch ( type ) { case 'bio': div = '#bio-block-' + getcMapUUIDFromID( id ); break; case 'note': div = '#note-block-' + getcMapUUIDFromID( id ); break; case 'map': div = '#map-container-' + getcMapUUIDFromID( id ); break; } return $( div ); } /** * Get the content tray string by state (show|hide) and type (bio|map|notes). * * Backwards compatibility with <= 5.2.1. * * @since 5.3 * * @param {object} object * @param {string} state * @param {string} type * @returns {string} */ function getcMapString( object, state, type ) { // Get the string from the global var. if ( typeof CNT_cMap[ state ][ type ] !== 'undefined' ) { var string = CNT_cMap[ state ][ type ]; } // For backward compatibility with <= 5.2.1. if ( typeof string === 'undefined' ) { string = object.data( 'str-' + state ); } return string; } });Hope this helps!
Steven Zahm
Keymaster@ Oisin van Gelderen
Apologies for the delay, yes, I did receive the email. I’m working on the reply at this very moment.
Steven Zahm
Keymaster@ Nathan
Open the page in Chrome, hit the F12 key and then click the Console tab. This window will show javascript error found on the page. It’s possible that an error from the theme or another plugin is causing all scripts which come after the error to not run.
If you have error displaying, or not, can you share a link to the page? That will help me help you.
Another item to check, on the Connections Settings admin page under the Advanced tab, make sure that the Google Maps API is enabled. If it is disabled, it is very likely not going to allow the map to function.
Hope this helps, let me know.
ps. I am going to be away for the next few days so I might not be able to reply until I return.
Steven Zahm
Keymaster@ Anne
Oh, I see. sorry but grouping by category will not likely ever be a feature because it is not scaleable. For example, many users nest categories many levels deep and assign entries to many different categories. Even with a simple one level deep category structure, even pagination is an issue. This is why you see most directory solutions which allow filtering by category with paginated results. Like you have now with Slim Plus. Grouping by category is only feasible with a small directories with a limited number of categories which are not nested.
May I make a suggestion for your site?
On the category page:
http://www.limabuildingtrades.com/contractors-by-category/
Instead of linking to separate pages for each category, link back to your own directory page. For example, to link back to your directory to display Drywall Contractors using this link:
http://www.limabuildingtrades.com/contractors-alphabetically/?cn-s=&cn-cat=42
Another solution would be to use the Enhanced Categories extension. On the display by category page you could drop in its shortcode and have it display the image grid of teh categories which will link back to the directory. If you choose this option, you should disable the category drop down on Slim Plus.
Hope this helps!
Steven Zahm
KeymasterRE: I am using the Market template and it’s not responsive.
Yes, this is correct. This is mentioned right on the Market template page. In cases where responsive is required, the cMap template is suggested (also mentioned in the note about Market not being responsive theme friendly). We can do an exchange if you like.
RE: And for some odd reason it is telling me that the license is not active on the website. … we went live recently so the site on which it is active is not quite the same anymore! That was a staging site. Can that be changed?
That is correct, the license is active on your staging site. The license can be activated on a single site only. If you plan on doing all updates and testing on the staging site and then pushing to the live site, leave the license active on the staging site. If you plan on doing all updates to your live site, then deactivate the license on the staging site and activate it on your live site. You do this on the Connections : Settings admin page under the license tab where you originally activated the license. The only functionality limited by license activation is inadmin updates, so, you want the license activate on the site you plan to do you updates from. Hope that makes sense! This is fairly standard practice for most commercial WordPress plugins. Some are far more restrictive and will not function at all unless activated.
Steven Zahm
Keymaster@ Anne
RE: Thanks for the explanation and for fixing it. It works fine now
Great to hear! I’ll be releasing an update today which will include this tweak.
RE: If I could suggest anything to make it better, it would be to allow the directory to be shown in multiple ways.
Not sure I understand. Could you give a couple examples?
Steven Zahm
Keymaster@ Sharon
RE: Does this work on a basic WordPress.com site
Doubtful since the permitted plugins for the basic is very limited. Looking at the docs, it seems you would need a WordPress.com Business account.
RE: Can this allow more than one directory listing to be compared to other directory listings in a search?
Do you mean put separate directories on different pages? If so yes, by separating them by category. Here’s a FAQ for cMap which explains how. The same would work for Slim Plus.
Hope that helps!
-
AuthorPosts
