Hi There, I'm very new to Hubspot. My background is mainly Wordpress and Joomla development. I want to find out if its possible to filter blog posts by tags on the main blog page and not have the them redirect to a new url when selecting a tag. I Lire la suite
Hi @SLombard8 , welcome to the Community!
Based on my experience building Blogs on HubSpot, I encourage you to use the /tag/ URLs and not try ...Lire la suite
Hi all We have a sub domain https://sub.domain.com which we want to use to create a homepage. We have an external partner https://partner.app/solution-provider where we want to show their content but don't want it obvious that the user has swit Lire la suite
Hello @Woodsy ,
This is quite an insteresting setup you are trying to build. What type of content are you trying to use from your partner webs...Lire la suite
La plataforma se demora mucho en Cargar y guardar contactos, realizamos verificaciion de conexion y borramos el cache de la plataforma, aun sigue lento ¿Me pueden ayudar?
Hola @AConstrucerám , cuando estes notando problemas con HubSpot, te recomiendo echar un vistazo a esta pagina web: https://status.hubspot.com/
...Lire la suite
Hi All, I am trying to fina a solution for the below querry. But the if else condition is not working(I tried for creating a seprate contact with firstname as unknown but its not working) Requirement: If the first name contains UNKNOWN or is equ Lire la suite
To add to @tyler-west answer, try adding print the value with the filter |pprint to see more details about it. There is a page on HubSpot's docume...Lire la suite
Hi All, I am trying to fina a solution for the below querry. But the if else condition is not working(I tried for creating a seprate contact with firstname as unknown but its not working) Requirement: If the first name contains UNKNOWN or is equ Lire la suite
To add to @tyler-west answer, try adding print the value with the filter |pprint to see more details about it. There is a page on HubSpot's docume...Lire la suite
Hello HubSpot Developer Community, hoping for a learning experience for this newbie... The default module Logo Grid (theme Brightlane) doesn't let you add URL links to the logos. I'm trying to add in the code to do this and I can't get it to Lire la suite
I realize I made a typo on the code I sent you before, I was copying & pasting something from one of my modules and didn't update the variable na...Lire la suite
Hello community! I'm currently working on a blog listing page where I would like to list blog posts according to different variables that are stored in a module. It works in a way that the author selects the category of the blog posts and it wi Lire la suite
Thanks @dennisedson for moving this into the Ideas forum! 🙂 Hopefully we can get some upvotes and someone from your engineering team can give...Lire la suite
Currently, when adding a partial template into an HTML file, we cannot pass any variable/props to it, making it quite limited when it comes to reusing code in our projects. Let me give you an example to better understand what I mean. Imagine Lire la suite
@LPM a module is an option also, yes, but not sure if some elements are a proper fit for a module.
For example, if we code a navigation or f...Lire la suite
Hi Community,
The HubL function content_by_ids is r eturning a different order of elements than the one we pass to it.
For example, if we pass the following IDs:
[1, 2, 3, 4, 5]
It returns something randomized like: Lire la suite
Hi guys. I have a question regarding Templates and HubL. If I'm not using a drag and drop template, is there a way to load an HTML file into the template? Imagine that I need to load a piece of code or another depending on a parameter in Lire la suite
Sorry for the late reply, didn't see your question. I already provided the solution, just create a partial template with your code and add it to ...Lire la suite
Hi Community!
One of my colleagues asked me a very interesting question and I don't know the answer, so let's see if someone here knows more about it 🙂
Does anyone know if it's possible to limit the type of modules allowed into a dnd Lire la suite
Hi guys. I'm testing something and I would like to know if there's a way to refresh the module list in a blog post. Let me put you in context: As you cannot change the template for blog posts, I'm loading partial templates (files) with the c Lire la suite
Hi @lscanlan , thanks for the reply! Regarding the module list refresh, would be awesome if you could ask one of your engineers to take a look a...Lire la suite
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '92197';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
$(document).ready(function(){
var originalElementId;
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function errorDisplay(errType) {
var errAuth = '
Pour accéder à cet espace de la Communauté, veuillez vous connecter.
';
var errAuthLogin = '
To access HubFans and complete challenges, confirm you are logged in by clicking here. Find additional troubleshooting steps here
';
var noBadges = '
To start earning advocacy badges go to the HubFan advocacy program page and start completing advocacy challenges.
';
var noAsks = '
Hooray! No more challenges for you to complete today. Check back in for more challenges tomorrow.
';
if(errType=='errAuth'){
$('.lia-quilt-category-page-hubstars .lia-quilt-column.lia-quilt-column-06.lia-quilt-column-right.lia-quilt-column-side-content').hide();
$('.asks-filters-wrap').html(errAuth);
$('.advocacy-badgeslist').html(errAuth);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(errAuth);
} else if(errType=='errAuthLogin') {
$('.lia-quilt-category-page-hubstars .lia-quilt-column.lia-quilt-column-06.lia-quilt-column-right.lia-quilt-column-side-content').hide();
$('.asks-filters-wrap').html(errAuthLogin);
$('.advocacy-badgeslist').html(errAuthLogin);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(errAuthLogin);
} else if(errType=='noAsks'){
$('.asks-lists').addClass('no-asks').html(noAsks);
}else if(errType=='noBadges'){
$('.advocacy-badgeslist').html(noBadges);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(noBadges);
}
}
function parseJwt (token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
return JSON.parse(jsonPayload);
};
var pagename = 'ViewProfilePage';
if(pagename == 'AdvocacyBadges'){
$('#lia-body').addClass('UserBadgesPage');
}
setCookie("advocacyToken", "", 0);
errorDisplay('errAuth');
});
})(LITHIUM.jQuery);
(function($) {
document.cookie = "advocacyToken=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_jwt_token=; domain=.hubspot.com; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_user_ck=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
})(LITHIUM.jQuery);
(function($) {
document.addEventListener('gdpr.allow', function() {
if (document.querySelector('.lia-cookie-banner-alert-accept a')) {
document.querySelector('.lia-cookie-banner-alert-accept a').click();
}
});
})(LITHIUM.jQuery);
;(function($){
var langMap = {
'en':'hubspot_community_en',
'es':'hubspot_community_es',
'fr':'hubspot_community_fr',
'ja':'hubspot_community_jp',
'pt-br':'hubspot_community_pt',
'de':'hubspot_community_de'
}
var nodeType = "community";
var langScope = langMap['fr'];
var isSearchPage = jQuery('body').hasClass('SearchPage');
var isIdeasLandingPage = jQuery('body').hasClass('ideaslandingpage');
if (nodeType === "community" && !isSearchPage && !isIdeasLandingPage) {
var inputFormFilter = '';
var inputFormLocation = '';
$('form.SearchForm').append(inputFormFilter).append(inputFormLocation);
} else if (nodeType === "community" && isIdeasLandingPage) {
var searchUrl = "/t5/forums/searchpage/tab/message?filter=location&location=idea-board:HubSpot_Ideas&collapse_discussion=true";
var query = jQuery('.SearchForm .lia-search-input-message').val();
jQuery(document).on('submit', 'form.SearchForm', function(e) {
e.preventDefault();
var newQ = "&q=" + document.querySelector('.SearchForm .lia-search-input-wrapper input.search-input').value;
window.location = window.location.origin + searchUrl + newQ;
})
}
})(LITHIUM.jQuery)
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6b68d44712b724","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6b68d44712b724_0","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6b68d44712b724_1","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6b68d44712b724_2","feedbackSelector":".InfoMessage"});
LITHIUM.AjaxFeedback(".lia-inline-ajax-feedback", "LITHIUM:hideAjaxFeedback", ".lia-inline-ajax-feedback-persist");
LITHIUM.Placeholder();
LITHIUM.AutoComplete({"options":{"triggerTextLength":0,"updateInputOnSelect":true,"loadingText":"Recherche...","emptyText":"Aucune correspondance","successText":"Résultats :","defaultText":"Entrez un mot à rechercher","disabled":false,"footerContent":[{"scripts":"\n\n;(function($){LITHIUM.Link=function(params){var $doc=$(document);function handler(event){var $link=$(this);var token=$link.data('lia-action-token');if($link.data('lia-ajax')!==true&&token!==undefined){if(event.isPropagationStopped()===false&&event.isImmediatePropagationStopped()===false&&event.isDefaultPrevented()===false){event.stop();var $form=$('