Wednesday, December 4, 2013

Magento : Full Page Cache


Full Page Cache (FPC) is:
As in every thing that is generated from a script is written to HTML and served next time, improving performance (by reducing load and not having to generate the page for every visit).


In order to understand Magento Full Page Cache, we need to understand what the run function in Mage_Core_Model_App

public function run($params)
    {
        $options = isset($params['options']) ? $params['options'] : array();
        $this->baseInit($options);
        Mage::register('application_params', $params);

        if ($this->_cache->processRequest()) {
            $this->getResponse()->sendResponse();
        } else {
            $this->_initModules();
            $this->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);

            if ($this->_config->isLocalConfigLoaded()) {
                $scopeCode = isset($params['scope_code']) ? $params['scope_code'] : '';
                $scopeType = isset($params['scope_type']) ? $params['scope_type'] : 'store';
                $this->_initCurrentStore($scopeCode, $scopeType);
                $this->_initRequest();
                Mage_Core_Model_Resource_Setup::applyAllDataUpdates();
            }

            $this->getFrontController()->dispatch();
        }
        return $this;
    }

Here $this->_cache->processRequest()
line checks if you have defined a caching node like this under app/etc/test.xml

<config>
<global>
<cache>
<request_processors>
<lt>Bd_Fullpagecache_Model_Processor</lt>
</request_processors>
</cache>
</global>
</config>

The next thing that magento does is to find/initialize the class you have defined and it expects that you have an extractContent function defined in your model.

Friday, November 29, 2013

Magento : Dynamically adding and changing blocks

Store-specific handle:
<STORE_#> (where '#' is the store ID — if you only have one store it is most likely '1')

Category-specific handle:
<CATEGORY_#> (where '#' is the ID number of the current category)

Product-specific handle:
<PRODUCT_#> (where '#' is the ID number of the current product)

Product type-specific handle:
<PRODUCT_TYPE_NAME> (where 'name' is the product type, example: 'simple', 'grouped', 'configurable', etc.)

Customer logged in or out:
<CUSTOMER_LOGGED_STATUS> (where 'status' is either 'in' or 'out')

If CMS page:
<cms_page>

Close a div popup after clicking outside it

Remember that jQuery library must be included.

Use following js code

jQuery(document).mouseup(function (event){
    var divcontainer = jQuery(".forclose" ); // Object of DIV
    if (divcontainer.has(event.target).length === 0){
        divcontainer.hide();
    }
});

Sunday, September 29, 2013

Bestseller products in Magento

 Using query from database

SELECT `e`.*, `bs`.* FROM `catalog_product_entity` AS `e` INNER JOIN (SELECT `sales_flat_order_item`.`product_id`, SUM(`qty_ordered`) AS `count` FROM `sales_flat_order_item` GROUP BY `product_id`) AS `bs` ON bs.product_id = e.entity_id ORDER BY `bs`.`count` DESC;

And using the collection

$storeId    = Mage::app()->getStore()->getId();
        $products = Mage::getResourceModel('reports/product_collection')
            ->addOrderedQty()
            //->addAttributeToSelect('*')
            ->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description', 'description')) //edit to suit tastes
            ->setStoreId($storeId)
            ->addStoreFilter($storeId)
            ->setOrder('ordered_qty', 'desc'); //best sellers on top      
        Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
        Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);

        //$products->setPageSize(6)->setCurPage(1);



Sunday, September 8, 2013

W3Schools JavaScript Quiz

W3Schools JavaScript Quiz

1. Inside which HTML element do we put the JavaScript?
You answered:<script>
 Correct Answer!

2. What is the correct JavaScript syntax to write "Hello World"?
You answered:document.write("Hello World");
 Correct Answer!

3. Where is the correct place to insert a JavaScript?
You answered:Both the <head> section and the <body> section are correct
 Correct Answer!

4. What is the correct syntax for referring to an external script called "xxx.js"?
You answered:<script src="xxx.js">
 Correct Answer!

5. The external JavaScript file must contain the <script> tag.
You answered:False
 Correct Answer!

6. How do you write "Hello World" in an alert box?
You answered:alert("Hello World");
 Correct Answer!

7. How do you create a function in JavaScript?
You answered:function myFunction()
 Correct Answer!

8. How do you call a function named "myFunction"?
You answered:myFunction()
 Correct Answer!

9. How to write an IF statement in JavaScript?
You answered:if (i==5)
 Correct Answer!

10. How to write an IF statement for executing some code if "i" is NOT equal to 5?
You answered:if (i != 5)
 Correct Answer!

11. How does a WHILE loop start?
You answered:while (i<=10)
 Correct Answer!

12. How does a FOR loop start?
You answered:for (i = 0; i <= 5; i++)
 Correct Answer!

13. How can you add a comment in a JavaScript?
You answered://This is a comment
 Correct Answer!

14. How to insert a comment that has more than one line?
You answered:/*This comment has
more than one line*/
 Correct Answer!

15. What is the correct way to write a JavaScript array?
You answered:var txt = new Array("tim","kim","jim")
 Correct Answer!

16. How do you round the number 7.25, to the nearest integer?
You answered:Math.round(7.25)
 Correct Answer!

17. How do you find the number with the highest value of x and y?
You answered:Math.max(x,y)
 Correct Answer!

18. What is the correct JavaScript syntax for opening a new window called "w2" ?
You answered:w2=window.open("http://www.w3schools.com");
 Correct Answer!

19. JavaScript is the same as Java.
You answered:False
 Correct Answer!

20. How can you detect the client's browser name?
You answered:navigator.appName
 Correct Answer!

Saturday, September 7, 2013

W3Schools PHP Quiz

W3Schools PHP Quiz

1. What does PHP stand for?
You answered:PHP: Hypertext Preprocessor
 Correct Answer!

2. PHP server scripts are surrounded by delimiters, which?
You answered:<?php…?>
 Correct Answer!

3. How do you write "Hello World" in PHP
You answered:echo "Hello World";
 Correct Answer!

4. All variables in PHP start with which symbol?
You answered:$
 Correct Answer!

5. What is the correct way to end a PHP statement?
You answered:;
 Correct Answer!

6. The PHP syntax is most similar to:
You answered:Perl and C
 Correct Answer!

7. How do you get information from a form that is submitted using the "get" method?
You answered:$_GET[];
 Correct Answer!

8. When using the POST method, variables are displayed in the URL:
You answered:False
 Correct Answer!

9. In PHP you can use both single quotes ( ' ' ) and double quotes ( " " ) for strings:
You answered:True
 Correct Answer!

10. Include files must have the file extension ".inc"
You answered:False
 Correct Answer!

11. What is the correct way to include the file "time.inc" ?
You answered:<?php include "time.inc"; ?>
 Correct Answer!

12. What is the correct way to create a function in PHP?
You answered:function myFunction()
 Correct Answer!

13. What is the correct way to open the file "time.txt" as readable?
You answered:fopen("time.txt","r");
 Correct Answer!

14. PHP allows you to send emails directly from a script
You answered:True
 Correct Answer!

15. What is the correct way to connect to a MySQL database?
You answered:mysqli_connect(host,username,password,dbname);
 Correct Answer!

16. What is the correct way to add 1 to the $count variable?
You answered:$count++;
 Correct Answer!

17. What is a correct way to add a comment in PHP?
You answered:/*…*/
 Correct Answer!

18. PHP can be run on Microsoft Windows IIS(Internet Information Server):
You answered:True
 Correct Answer!

19. In PHP, the die() and exit() functions do the exact same thing.
You answered:True
 Correct Answer!

20. Which one of these variables has an illegal name?
You answered:$my-Var
 Correct Answer!

Thursday, September 5, 2013

W3Schools SQL Quiz

W3Schools SQL Quiz

1. What does SQL stand for?
You answered:Structured Query Language
 Correct Answer!

2. Which SQL statement is used to extract data from a database?
You answered:SELECT
 Correct Answer!

3. Which SQL statement is used to update data in a database?
You answered:UPDATE
 Correct Answer!

4. Which SQL statement is used to delete data from a database?
You answered:DELETE
 Correct Answer!

5. Which SQL statement is used to insert new data in a database?
You answered:INSERT INTO
 Correct Answer!

6. With SQL, how do you select a column named "FirstName" from a table named "Persons"?
You answered:SELECT FirstName FROM Persons
 Correct Answer!

7. With SQL, how do you select all the columns from a table named "Persons"?
You answered:SELECT * FROM Persons
 Correct Answer!

8. With SQL, how do you select all the records from a table named "Persons" where the value of the column "FirstName" is "Peter"?
You answered:SELECT * FROM Persons WHERE FirstName='Peter'
 Correct Answer!

9. With SQL, how do you select all the records from a table named "Persons" where the value of the column "FirstName" starts with an "a"?
You answered:SELECT * FROM Persons WHERE FirstName LIKE 'a%'
 Correct Answer!

10. The OR operator displays a record if ANY conditions listed are true. The AND operator displays a record if ALL of the conditions listed are true
You answered:True
 Correct Answer!

11. With SQL, how do you select all the records from a table named "Persons" where the "FirstName" is "Peter" and the "LastName" is "Jackson"?
You answered:SELECT * FROM Persons WHERE FirstName='Peter' AND LastName='Jackson'
 Correct Answer!

12. With SQL, how do you select all the records from a table named "Persons" where the "LastName" is alphabetically between (and including) "Hansen" and "Pettersen"?
You answered:SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen'
 Correct Answer!

13. Which SQL statement is used to return only different values?
You answered:SELECT DISTINCT
 Correct Answer!

14. Which SQL keyword is used to sort the result-set?
You answered:ORDER BY
 Correct Answer!

15. With SQL, how can you return all the records from a table named "Persons" sorted descending by "FirstName"?
You answered:SELECT * FROM Persons ORDER BY FirstName DESC
 Correct Answer!

16. With SQL, how can you insert a new record into the "Persons" table?
You answered:INSERT INTO Persons VALUES ('Jimmy', 'Jackson')
 Correct Answer!

17. With SQL, how can you insert "Olsen" as the "LastName" in the "Persons" table?
You answered:INSERT INTO Persons (LastName) VALUES ('Olsen')
 Correct Answer!

18. How can you change "Hansen" into "Nilsen" in the "LastName" column in the Persons table?
You answered:UPDATE Persons SET LastName='Nilsen' WHERE LastName='Hansen'
 Correct Answer!

19. With SQL, how can you delete the records where the "FirstName" is "Peter" in the Persons Table?
You answered:DELETE FROM Persons WHERE FirstName = 'Peter'
 Correct Answer!

20. With SQL, how can you return the number of records in the "Persons" table?
You answered:SELECT COUNT(*) FROM Persons
 Correct Answer!