The post script is useful when execute or trigger any action after pushing the code in repository
Following example shows how to push the code to s3 bucket after pushing the code.
#!/bin/bash
set -x #echo on
tag_push_trigger()
{
masterTag=$(git for-each-ref | grep $newrev | grep refs/heads/master )
if [[ -z "$masterTag" ]]; then
echo " Tag is not created for master branch "
else
tag_create_zipfile
fi
}
tag_create_zipfile()
{
export AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxxxxxxxxx
export...
Javascript in Magento 2
Magento 2 uses Require JS lib and Knockout JS lib to solve the page speed and manage the JS dependency.
As JS are loaded asynchronously in backend, it helps to increase the page speed.
The JS files can be found in following locations :
lib/web
view/area/web
theme/module/web
theme/web
Magento 2 uses requirejs-config.js in module view/area/ folder to map the JS file with alias.
Magento 2 declares JS using following ways :
data-mage-init
<script type="text/x-magento-init"> ...........
The client ip can be retrieved using
getClientIp()
method in
Magento\Framework\HTTP\PhpEnvironment\Request
class. This is very useful , when do the ip restriction in maintenance page development.
Here you can learn about the docker basic and its commands
The docker run command is used to get the specific docker image from registry and start and run the container of the image.
For this example, the alpine docker image is used as it is more light weight linux image.
docker run alpine:3.4 uptime
Here the apline is a public image and it will be pulled from registry and created the container and started the container and ran the 'uptime' and exit....
This example shows that how the static ip can be assigned to container and how to add another container network to a container. This can be done only for version 2 compose.
version: '2'
services:
app:
image: busybox
command: ping www.google.com
networks:
app_net:
ipv4_address: 10.0.0.10
webapp:
image: busybox
command: ping www.yahoo.com
network_mode: service:app
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.0.0.0/24
g...
First create your conditions in the system.xml..
Second add your css and js in your local xml.
<reference name="head">
<action method="addCss" ifconfig="my_config_section/advanced/load_css"><stylesheet>css/my_module/my_module.css</stylesheet></action>
<action method="addItem" ifconfig="my_config_section/advanced/load_js"><type>skin_js</type><name>js/my_module/my_module.js</name></action>
</reference>
The template file or content of the magento page can be changed on the fly using observer.
For example, if you want to change the product listing in the category view , just write observer for render before event and remove the specific block and add new block or just replace the template file with new template file with new content.
$categoryProductBlock->setChild('product_list',$specificBlock);
<reference name="breadcrumbs">
<action method="setTemplate">
<template helper="seo/getBreadcrumbsTemplate">
<param>page/html/breadcrumbs.phtml</param>
</template>
</action>
</reference>
Following methods of the Config.php(app/code/core/Mage/Tax/Model) need to be changed as follows to display the product price excluding GST
public function getPriceDisplayType($store = null)
{
$groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
if (isset($groupId) && ($groupId == 2) &&
((int)$this->_getStoreConfig(self::CONFIG_XML_PATH_PRICE_DISPLAY_TYPE, $store)) == self::DISPLAY_TYPE_INCLUDING_TAX){
return self::DISPLAY_TYPE_EXCLUDING_TAX;
}
...
public function getCategoryPath($sku)
{
$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
$pathArray = array();
$collection1 = $product->getCategoryCollection()
->setStoreId(Mage::app()->getStore()->getId())
->addAttributeToSelect('path')
->addAttributeToSelect('is_active');
foreach($collection1 as $cat1){
$pathIds = explode('/', $cat1->getPath()); ...
Following ant build script to help you to execute command in remote server.
<?xml version="1.0"?>
<project basedir="." default = "build">
<target name="build" description="Running test" >
<path id="jsch.class.path">
<pathelement location="/usr/share/ant/lib/ant-jsch-1.9.2.jar" />
<pathelement location="/usr/share/ant/lib/jsch-0.1.51.jar" />
</path>
<taskdef name="scp" classname="org.apache.tools.ant.taskdefs.optional.ssh.Scp"...
It is really useful to install the required library specific to the php project.
Following simple command help you to install it in your linux env.
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Not only you can get the lib but also you can publish your lib.
In following site you can check the available package.
Packagist.
In windows, It can be installed simply download and run the following exe file and It will be set in the PATH as well.
[Composer e...
How to show line number in vi editor
: Run
:set nu
How to show line number in gedit
: 1)Click on Edit menu
2)Select the Preference
3)Tick the Display line numbers
How to clear the screen
: ctrl + l
How to check the IP
: ifconfig
How to check the running process
: ps aux | grep redis
How to add users
useradd -g www-data foo
com...