Skip to content

Instantly share code, notes, and snippets.

View umkasanki's full-sized avatar

Oleg Tishkin umkasanki

View GitHub Profile
@umkasanki
umkasanki / twig
Created April 15, 2018 13:00
Simple multilanguage nav
{% set navlist = nav.navlist %}
{% for item in navlist %}
<a href="{{ item.url }}">{{ item.title | t }}</a>
{% if loop.last %}
{% for locale in craft.i18n.getSiteLocales() %}
{% set localeData = craft.i18n.getLocaleData(locale.id) %}
{% if entry is not null %}
@umkasanki
umkasanki / isInViewport.js
Created May 17, 2018 12:21
Detecting if an element is in the Viewport : jQuery
$.fn.isInViewport = function() {
var elementTop = $(this).offset().top;
var elementBottom = elementTop + $(this).outerHeight();
var viewportTop = $(window).scrollTop();
var viewportBottom = viewportTop + $(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
@umkasanki
umkasanki / js
Created July 10, 2018 08:21
encode\decode
var uri_enc = encodeURIComponent(uri);
var uri_dec = decodeURIComponent(uri_enc);
@umkasanki
umkasanki / gist:60ce5890213a417f044f44934ec2ed35
Created August 31, 2018 15:28 — forked from devraj/gist:ca0048d136a61bc0de95
Google Maps v3 Custom retina marker from a sprite sheet with 2x and 3x support
var hqLocation = new google.maps.LatLng(-35.107231, 147.369983);
var mapOptions = {
zoom: 17,
minZoom: 17,
maxZoom: 17,
center: hqLocation,
scrollwheel: false,
disableDefaultUI: true,
keyboardShortcuts: false,
@umkasanki
umkasanki / _base.twig
Created September 3, 2018 06:13 — forked from wesrice/_base.twig
Sample Modular Templating for Craft CMS - Inspired by principles from https://smacss.com/.
<!DOCTYPE html>
<head>
{# Base #}
{% includeCssFile 'layouts/base/css/base.css' %}
{% includeJsFile 'layouts/base/js/base.js' %}
{# Header #}
{% includeCssFile 'modules/header/css/header.css' %}
{% includeJsFile 'modules/header/js/header.js' %}
@umkasanki
umkasanki / tagged-entries.twig
Last active September 11, 2018 17:46
Craftcms. Show entries with multiple tags
{% if not craft.request.isAjax %}
<!DOCTYPE html>
<html>
<head>
<title>Tag page</title>
<style type="text/css">
.loading {
display: none;
}
.is-loading + .loading {
@umkasanki
umkasanki / url-segment.js
Created September 11, 2018 11:45 — forked from jserrao/url-segment.js
Get Last Segment of a URL in Javascript
var pageURL = window.location.href;
var lastURLSegment = pageURL.substr(pageURL.lastIndexOf('/') + 1);
console.log(lastURLSegment);
{% if craft.request.isAjax %}
{% set layout = "_ajaxLayout" %}
{% else %}
{% set layout = "_layout" %}
{% endif %}
{% extends layout %}
{% set limit = 10 %}
{% set params = { section: 'news', limit: limit} %}
@umkasanki
umkasanki / .twig
Last active November 20, 2022 15:32
Craftcms. nested categories in entry url
Expertise channel settings:
Entry URI Format: expertise/{category.inReverse().one().uri}/{slug}
Category group settings:
Category URI Format: {parent.uri}/{slug}
@umkasanki
umkasanki / twig
Created December 6, 2018 08:55
CraftCms. Get entries or products based on nested categories in url
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Category</title>
</head>
<body>
{% set catSegments = craft.request.segments|slice(1) %}
{% for item in catSegments %}
{% if craft.categories.slug(item).one() == null %}