Display a block on some pages according to the fields content of that page
Simplest way is to conditionally output region in node.tpl.php
But there is no $page in node.tpl.php. So you need to make it happen. In your template.php add function

mytheme_preprocess_node(&amp;$variables) { 
  // List of all regions for the current theme
  foreach (system_region_list($GLOBALS['theme']) as $region_key =&gt; $region_name) {
    // Add content to $region variable
    if ($blocks = block_get_blocks_by_region($region_key)) {
      $variables['region'][$region_key] = $blocks;
    }
    else {
      $variables['region'][$region_key] = array();
    }
  }
}


Then in node.tpl.php use:

print render($region['region_name']);


to output your region. Of course wrap it in if, case or any other logic you fancy.