通常在父catalog/product_list块的_beforeToHtml方法中设置。
#File: app/code/core/Mage/Catalog/Block/Product/List.php
protected function _beforeToHtml()
{
    $toolbar = $this->getToolbarBlock();
    // called prepare sortable parameters
    $collection = $this->_getProductCollection();
    // use sortable parameters
    if ($orders = $this->getAvailableOrders()) {
        $toolbar->setAvailableOrders($orders);
    }
    if ($sort = $this->getSortBy()) {
        $toolbar->setDefaultOrder($sort);
    }
    if ($dir = $this->getDefaultDirection()) {
        $toolbar->setDefaultDirection($dir);
    }
    if ($modes = $this->getModes()) {
        $toolbar->setModes($modes);
    }
    // set collection to toolbar and apply sort
    $toolbar->setCollection($collection);
    $this->setChild('toolbar', $toolbar);
    Mage::dispatchEvent('catalog_block_product_list_collection', array(
        'collection' => $this->_getProductCollection()
    ));
    $this->_getProductCollection()->load();
    return parent::_beforeToHtml();
}
特别是这一行。
$toolbar->setCollection($collection);
我的猜测是您的系统已被大量修改,因此工具栏块不再catalog/product_list作为父级。