Skip to content

Instantly share code, notes, and snippets.

View msankhala's full-sized avatar
🎯
Focusing

Mahesh Sankhala msankhala

🎯
Focusing
View GitHub Profile
@normanlolx
normanlolx / Drupal8HorizontalTabs.php
Last active February 16, 2024 10:10
How to create horizontal tabs programmatically in Drupal 8, requires Field Group module
<?php
// How to create horizontal tabs programmatically in Drupal 8, requires Field Group module
$form = array();
$form['my_field'] = array(
'#type' => 'horizontal_tabs',
'#tree' => TRUE,
'#prefix' => '<div id="unique-wrapper">',
'#suffix' => '</div>',
);
$items = array(
@crittermike
crittermike / MyCustomBlock.php
Last active October 23, 2020 17:42
Drupal 8 block with custom cache context and tags
<?php
class MyCustomBlock extends BlockBase {
public function build() {
return array(
'#markup' => $this->t('My custom block content'),
'#cache' => array(
'contexts' => ['url.path'], // https://www.drupal.org/developing/api/8/cache/contexts
'tags' => ['node:1', 'node:2'] // https://www.drupal.org/developing/api/8/cache/tags
),
@noelboss
noelboss / git-deployment.md
Last active September 23, 2026 12:24
Simple automated GIT Deployment using Hooks

Simple automated GIT Deployment using GIT Hooks

Here are the simple steps needed to create a deployment from your local GIT repository to a server based on this in-depth tutorial.

How it works

You are developing in a working-copy on your local machine, lets say on the master branch. Most of the time, people would push code to a remote server like github.com or gitlab.com and pull or export it to a production server. Or you use a service like deepl.io to act upon a Web-Hook that's triggered that service.

@Eyal-Shalev
Eyal-Shalev / ComboForm.php
Created June 7, 2016 19:41
An example form object (Drupal 8) that combines multiple forms into itself.
<?php
namespace Drupal\sandbox\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormInterface;
use Drupal\Core\Form\FormState;
use Drupal\Core\Form\FormStateInterface;
use Drupal\node\Entity\Node;
use Drupal\user\Entity\User;
@mglaman
mglaman / Drupal_Simpletest.xml
Created May 29, 2016 06:41
Drupal Simpletest runner. All options are in configuration scriptParameters
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Drupal Simpletest" type="PhpLocalRunConfigurationType" factoryName="PHP Console" singleton="true" path="$PROJECT_DIR$/www/core/scripts/run-tests.sh" scriptParameters="--url http://localhost:8080 --color --verbose --php /usr/bin/php --sqlite /tmp/.ht.sqlite commerce">
<CommandLine workingDirectory="$PROJECT_DIR$/www" />
<option name="workingDirectory" value="$PROJECT_DIR$/www" />
<method />
</configuration>
</component>
@mglaman
mglaman / Built_In.xml
Last active July 8, 2021 11:08
Configurations to run Drupal Commerce tests in PHPStorm. add to $PROJECT/.idea/runConfigurations. The compound "Commerce Test Runner" will launch PhanomJS, PHP's built in and then run Drupal Commerce's PHPUnit tests.
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Built-in" type="PhpBuiltInWebServerConfigurationType" factoryName="PHP Built-in Web Server" singleton="true" document_root="$PROJECT_DIR$/www" port="8080">
<method />
</configuration>
</component>
@infusion
infusion / git-restore-file.sh
Created May 22, 2016 22:23
Find and restore a deleted file in a Git
# Find last commit for the deleted file
git rev-list -n 1 HEAD -- $path
# Checkout the commit before the the delete happened
git checkout $commit^ -- $path
@mortenson
mortenson / DebugTest.php
Created May 18, 2016 17:49
Debugging Drupal 8 Javascript tests
<?php
class DebugTest extends YourBrokenTest {
/**
* Overrides a broken test method and saves HTML at the point of failure.
*/
public function testName() {
try {
parent::testName();
@albertski
albertski / gist:6af957aba26c5419ae48
Last active March 6, 2018 22:44
Get Embed View With Title
<?php
/**
* Embed a view with a title. Pretty much copying the views_embed_view() but
* adding the ability to display title.
*
* @param string $name The name of the view to embed.
* @param string $display_id The display id to embed. If unsure, use 'default',
* as it will always be valid. But things like 'page'
* or 'block' should work here.
* @param string $title_tag The html header tag (h1, h2, h3, etc..).
@jerbob92
jerbob92 / MyModuleMenuLink.php
Created October 27, 2015 13:31
Drupal 8 Derative Advanced Menu Link Example