How to select a custom block and region according to a view
When dealing with a page view you can use the views_get_page_view() function, to get the view object for the current page, like this:

/**
 * Variable preprocessor for the block template.
 */
function MYTHEME_preprocess_block(&amp;$variables) {
  // If we are on a views page display.
  if ($view = views_get_page_view()) {
    // If we are on the MYVIEW view.
    if ($view-&gt;name == 'MYVIEW') {
      // Add the view object to the variables for use in the template (if you need it).
      $variables['view'] = $view;

      // Use a custom block template for this specific display (if required).
      $variables['theme_hook_suggestions'][] =  "block__{$view-&gt;name}";

      // Add your block customisations for this specific view (if required).

      // If we are also on the MYDISPLAY display of MYVIEW.
      if ($view-&gt;current_display == 'MYDISPLAY') {
        // Add your block customisations for this specific view and display here (if required).

        // Use a custom block template for this specific display (if required).
        $variables['theme_hook_suggestions'][] =  "block__{$view-&gt;name}__{$view-&gt;current_display}";
      }
    }
  }
}