Programmatically find the line item id by using product id
function product_in_cart($product_id) {
if (!is_array($product_id)) {
global $user;
$current_order = commerce_cart_order_load($user->uid);
if (count($current_order->commerce_line_items) > 0) {
$line_items = $current_order->commerce_line_items;
foreach ($line_items['und'] as $key => $value) {
$line_item = commerce_line_item_load($value['line_item_id']);
$products = $line_item->commerce_product['und'];
foreach ($products as $product_key => $product_value) {
if ($product_id == $product_value['product_id']) {
return $value['line_item_id'];
}
}
}
return -1;
} else
return -2;
}
else {
global $user;
$current_order = commerce_cart_order_load($user->uid);
if (count($current_order->commerce_line_items) > 0) {
$line_items = $current_order->commerce_line_items;
foreach ($line_items['und'] as $key => $value) {
$line_item = commerce_line_item_load($value['line_item_id']);
$products = $line_item->commerce_product['und'][0]['product_id'];
foreach ($product_id as $id) {
if ($id == $products) {
$line_item_ids[] = $value['line_item_id'];
}
}
} if (isset($line_item_ids) >= 1) {
return $line_item_ids;
}
else {
return -1;
}
} else
return -2;
}
}
Web Development Information [PHP, DRUPAL, MYSQL, MAGENTO, JQUERY, JAVASCRIPT, CSS, HTML5]
Friday, June 26, 2015
Drupal Commerce add line item
Function for programmatically add a product as line item by using product id
function product_cart_add($product_id, $quantity, $uid = NULL) {
$line_item = NULL;
if ($uid == NULL) {
global $user;
$uid = $user->uid;
}
if ($product = commerce_product_load($product_id)) {
$line_item = commerce_product_line_item_new($product, $quantity);
$line_item = commerce_cart_product_add($uid, $line_item);
}
return $line_item;
}
function product_cart_add($product_id, $quantity, $uid = NULL) {
$line_item = NULL;
if ($uid == NULL) {
global $user;
$uid = $user->uid;
}
if ($product = commerce_product_load($product_id)) {
$line_item = commerce_product_line_item_new($product, $quantity);
$line_item = commerce_cart_product_add($uid, $line_item);
}
return $line_item;
}
Wednesday, May 27, 2015
Drupal user login form customization
Customizing the user login page is very simple, and uses the following concepts:
Use preprocess to set variables
register you template file in hook_theme
create templates and render your variables
Step 1:
/**
* Implements hook_theme().
*/
function hook_theme() {
$items = array();
$items['user_login'] = array(
'render element' => 'form',
'path' => PATH . '/templates',
'template' => 'user-login',
'preprocess functions' => array(
'hook_preprocess_user_login'
),
);
return $items;
}
Step 2:
function hook_preprocess_user_login(&$variables) {
$variables['render_text'] = 'You can add extra text and message';
}
Step 3:
Create you template file in your template folder
user-login.tpl.php
<div class="login-wrapper">
<h2><?php print t('SIGN IN'); ?></h2>
<?php
// split the username and password from the submit button so we can put in links above
print drupal_render($form['name']);
print drupal_render($form['pass']);
?>
<div class="login-links">
<?php print l(t('FORGOT YOUR PASSWORD?'), 'user/password', array('attributes' => array('class' => 'login-link'))); ?>
</div>
<?php
print drupal_render($form['form_build_id']);
print drupal_render($form['form_id']);
print drupal_render($form['actions']);
?>
</div><!--//login-wrapper-->
Step 4:
Clear drupal cache
Use preprocess to set variables
register you template file in hook_theme
create templates and render your variables
Step 1:
/**
* Implements hook_theme().
*/
function hook_theme() {
$items = array();
$items['user_login'] = array(
'render element' => 'form',
'path' => PATH . '/templates',
'template' => 'user-login',
'preprocess functions' => array(
'hook_preprocess_user_login'
),
);
return $items;
}
Step 2:
function hook_preprocess_user_login(&$variables) {
$variables['render_text'] = 'You can add extra text and message';
}
Step 3:
Create you template file in your template folder
user-login.tpl.php
<div class="login-wrapper">
<h2><?php print t('SIGN IN'); ?></h2>
<?php
// split the username and password from the submit button so we can put in links above
print drupal_render($form['name']);
print drupal_render($form['pass']);
?>
<div class="login-links">
<?php print l(t('FORGOT YOUR PASSWORD?'), 'user/password', array('attributes' => array('class' => 'login-link'))); ?>
</div>
<?php
print drupal_render($form['form_build_id']);
print drupal_render($form['form_id']);
print drupal_render($form['actions']);
?>
</div><!--//login-wrapper-->
Step 4:
Clear drupal cache
Wednesday, April 15, 2015
Add custom file extension in PHP application
We can add custom file extension in Apache PHP application. We can add our custom file extension instead of .php
For example, index.xyz instead of index.php
Open httpd.conf located in apache/conf folder
Find " <IfModule mime_module> "
Add " AddType application/x-httpd-php .xyz "
Restart your apache server
For example, index.xyz instead of index.php
Open httpd.conf located in apache/conf folder
Find " <IfModule mime_module> "
Add " AddType application/x-httpd-php .xyz "
Restart your apache server
Thursday, March 5, 2015
Status messages not removing with Commerce Ajax Cart
Use ajax_command_remove() command to remove the existing error messages while submit ajax add to cart button
$commands[] = ajax_command_remove('div.messages');
$commands[] = ajax_command_after('#main-content', theme('status_messages'));
$commands[] = ajax_command_remove('div.messages');
$commands[] = ajax_command_after('#main-content', theme('status_messages'));
Subscribe to:
Posts (Atom)