Drupal 7: Database Aggregate functions (SUM, MIN, MAX, COUNT, AVG,..)

The MySQL database query supports aggregate functions to retrieve values from the database. In our custom query, we can able to add aggregate queries. The function addExpression() takes object of database query to aggregate results in db_select(). The below example will demonstrate the usage of aggregate functions.

Drupal 7: Database query with MySQL Date functions

The MySQL is the database which stores any type of data in Database. Using the MySQL we can able to store date-related fields. The MySQL will support Date functions to retrieve and format database date field values. In Drupal also we can able to add date functions in our queries with help of where() function in the database object. The below is the syntax and example of usage of the where() function.

Drupal 7: Making Drupal block is no-cachable:

Drupal system makes blocks is cachable to speed render. The block cache is stored in Drupal core database block_cache table. By altering or change information of block as non-cachable. This is achieved by passing cache as "DRUPAL_NO_CACHE" in hook_block_info() for custom block and hook_block_info_alter() in existing block.

Drupal 7: Formating Date time (Changing Date based on timezone)

The Drupal will support different type timezone to process date related data. But actual data are stored in Unix time stamp format of UTC in the database. The Drupal default core system will process dates as configured in system configuration. While we accessing database date values we need to format to particular timezone date.

Drupal 7: Programatically adding new Commerce Product

In Drupal commerce, we can able to add new Commerce Products programmatically using the commerce_product_new() function. This will create an object of Commerce product, Using the object we can able to set their attributes for the product. The below is the example and syntax for creating the commerce product.

Bidirectional Relationship Support in JSON

Ever tried to create a JSON data structure that includes entities that have a bidirectional relationship (i.e., circular reference)? If you have, you’ve likely seen a JavaScript error along the lines of “Uncaught TypeError: Converting circular structure to JSON”. Or if you’re a Java developer who uses Jackson library, you may have encountered “Could not write JSON: Infinite recursion (StackOverflowError) with root cause java.lang.StackOverflowError”. This article provides a robust working approach to creating JSON structures that include a bidirectional relationship without resulting in these errors.

Drupal 7: Updating Administrator password programatically

There are several chances by accident we will forget administrator password for the Administrator. The newer version of Drupal core comes with the salt algorithm to encrypt the password. To update the new password we need to encrypt them before an update. The below is the example and syntax for update password. Add the below code in index.php above menu_active_handler().

Drupal 7: Creating custom Permissions hook_permission() with Example

Permissions control access in Drupal system. We can able to specify the permissions based on User Roles. We can programmatically able to create custom permissions by implementing the hook_permission in Drupal 7. The below is the syntax and example of how to use custom permissions. Once permissions are defined the need to clear cache. So, that permission available on admin/people/permissions page.

Drupal 7: Creating custom pages, forms using hook_menu()

The hook_menu() is the menu router for the Drupal system. In this hook we can able to specify the possible URL paths to our Drupal system. This function implementation must return the associative array of URL paths and their respective callbacks. The below is the syntax and usage example of this hook. Once you have implemented hook needs to flush the cache to detect system.

Drupal 7: Writing your custom table hook_schema() with Example

In Drupal hook_schema() help to create the Tables in Drupal system. This schema is defined in MODULE_NAME.install file. This hook invokes during the Module install. Similarly, during module uninstall tables defined in hook_schema() automatically get deleted. The below is the syntax and example of implementing hook_schema().

Drupal 7: Commerce Order Status update programmatically

In Drupal, commerce Orders are acted as a separate entity. The order has different status during each stage on purchasing. These status updates are taken place during the order checkout process. It possible us to update order status programmatically from one state to others.