Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8604231
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T02:31:20+00:00 2026-06-12T02:31:20+00:00

I am having a very weird issue on one site (www.theprinterdepo.com), in google chrome

  • 0

I am having a very weird issue on one site (www.theprinterdepo.com), in google chrome I am seeing a 500 internal server errror.
However on IE an firefox it works fine).
What I noticed is that if I go to chrome and click on history and remove all cache, cookies, etc, then it works fine again.

I removed the system.log and checked again and the only thing logged is this one:

The first argument should be an array in /xxx/xxx/public_html/app/code/local/Mf/Searchterms/Model/Layer.php

THis is a standard magento file that I have never touched, but here its the code:

<?php


class Mf_Searchterms_Model_Layer extends Mage_Catalog_Model_Layer
{
    const XML_PATH_DISPLAY_LAYER_COUNT = 'catalog/search/use_layered_navigation_count';

    /**
     * Get current layer product collection
     *
     * @return Mage_Catalog_Model_Resource_Eav_Resource_Product_Collection
     */
    public function getProductCollection()
    {
        if (isset($this->_productCollections[$this->getCurrentCategory()->getId()])) {
            $collection = $this->_productCollections[$this->getCurrentCategory()->getId()];
        } else {
            $collection = Mage::getResourceModel('catalogsearch/fulltext_collection');
            $this->prepareProductCollection($collection);
            $this->_productCollections[$this->getCurrentCategory()->getId()] = $collection;
        }
        return $collection;
    }

    /**
     * Prepare product collection
     *
     * @param Mage_Catalog_Model_Resource_Eav_Resource_Product_Collection $collection
     * @return Mage_Catalog_Model_Layer
     */
    public function prepareProductCollection($collection)
    {

        $params = Mage::app()->getRequest()->getParams();

        $collection
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes());
        $query = Mage::helper('catalogsearch')->getQuery();
        $productIds = Mage::getModel('searchterms/searchterms')->getProducts($query->getId());
        $productIds = array_filter($productIds);
        //var_dump($productIds);

        if(is_array($productIds) && sizeof($productIds) > 0){
            //echo "asd";
            $productIdArray = $productIds;
            $collection->addFieldToFilter('entity_id', array('in'=>$productIdArray));
            $collection->joinField('position',
                'searchterms_product',
                'position',
                'product_id=entity_id',
                'searchterms_id='.$query->getId(), 
                'left')
                ;

                if(isset($params['order']) && $params['order'] != ""){
                    Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
                    Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($collection);
                }else{
                    $collection->setOrder(`searchterms_product`.'position','ASC');
                    Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
                }
        }
        else 
        {
            $collection->addSearchFilter(Mage::helper('catalogsearch')->getQuery()->getQueryText());
            $collection->setStore(Mage::app()->getStore())
                ->addMinimalPrice()
                ->addFinalPrice()
                ->addTaxPercents()
                ->addStoreFilter()
                ->addUrlRewrite();
            Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
            Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($collection);
        }


        return $this;
    }

    /**
     * Get layer state key
     *
     * @return string
     */
    public function getStateKey()
    {
        if ($this->_stateKey === null) {
            $this->_stateKey = 'Q_' . Mage::helper('catalogsearch')->getQuery()->getId()
                . '_'. parent::getStateKey();
        }
        return $this->_stateKey;
    }

    /**
     * Get default tags for current layer state
     *
     * @param   array $additionalTags
     * @return  array
     */
    public function getStateTags(array $additionalTags = array())
    {
        $additionalTags = parent::getStateTags($additionalTags);
        $additionalTags[] = Mage_CatalogSearch_Model_Query::CACHE_TAG;
        return $additionalTags;
    }

    /**
     * Add filters to attribute collection
     *
     * @param   Mage_Catalog_Model_Resource_Eav_Resource_Product_Attribute_Collection $collection
     * @return  Mage_Catalog_Model_Resource_Eav_Resource_Product_Attribute_Collection
     */
    protected function _prepareAttributeCollection($collection)
    {
        $collection->addIsFilterableInSearchFilter()
            ->addVisibleFilter();
        return $collection;
    }

    /**
     * Prepare attribute for use in layered navigation
     *
     * @param   Mage_Eav_Model_Entity_Attribute $attribute
     * @return  Mage_Eav_Model_Entity_Attribute
     */
    protected function _prepareAttribute($attribute)
    {
        $attribute = parent::_prepareAttribute($attribute);
        $attribute->setIsFilterable(Mage_Catalog_Model_Layer_Filter_Attribute::OPTIONS_ONLY_WITH_RESULTS);
        return $attribute;
    }
}

UPDATE 1:
I managed to clean the apache error log, refreshed the browser and then this is the new text on the log:
[client 83.134.115.127] Premature end of script headers: index.php

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T02:31:21+00:00Added an answer on June 12, 2026 at 2:31 am

    Probably first line (Mage::..) returns NULL or FALSE when result set is empty and array_filter requires array, not null/false value! Try this:

    $productIds = Mage::getModel('searchterms/searchterms')->getProducts($query->getId());
    if (!$productIds) {
        $productIds = array();
    }
    $productIds = array_filter($productIds);
    

    But this is (probably) a wrong way to use array_filter. Without second argument, it would filter any array elements that evaluate to false, eg if an element is null, false, empty array, empty string. But I doubt that Mage::getModel(...)->getProducts(...); would ever return such elements (without any knowledge for the particular case). But if it does return array with such elements, it is a sign of bad design behind it.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am having a very weird issue with my fresh dedicated server. It has
I'm having a very weird issue in IE6. If I set a div container
Im having an issue with a site which has gone very slow, so just
I'm having a very weird issue here, I have set-up my solr architecture as
Im having a very weird issue. I have a normal ajax call that upload
I'm having a very weird issue with the command line and running Ant. I
I am having a very weird issue in the way strings get stored in
I am having a very weird issue with templates. Getting an error error: ‘traits’
I'm having a very very weird issue that I'm unable to see... I tend
I'm having a weird issue with Silverlight Unit Test Framework. The very first method

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.