<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -567,15 +567,26 @@ class Helper extends Overloadable {
 
 		$result = null;
 
-		if (isset($this-&gt;data[$this-&gt;model()][$this-&gt;field()])) {
-			$result = $this-&gt;data[$this-&gt;model()][$this-&gt;field()];
-		} elseif (isset($this-&gt;data[$this-&gt;field()]) &amp;&amp; is_array($this-&gt;data[$this-&gt;field()])) {
-			if (ClassRegistry::isKeySet($this-&gt;field())) {
-				$model =&amp; ClassRegistry::getObject($this-&gt;field());
-				$result = $this-&gt;__selectedArray($this-&gt;data[$this-&gt;field()], $model-&gt;primaryKey);
+		$modelName = $this-&gt;model();
+		$fieldName = $this-&gt;field();
+		$modelID = $this-&gt;modelID();
+
+		if (is_null($fieldName)) {
+			$fieldName = $modelName;
+			$modelName = null;
+		}
+
+		if (isset($this-&gt;data[$fieldName]) &amp;&amp; $modelName === null) {
+			$result = $this-&gt;data[$fieldName];
+		} elseif (isset($this-&gt;data[$modelName][$fieldName])) {
+			$result = $this-&gt;data[$modelName][$fieldName];
+		} elseif (isset($this-&gt;data[$fieldName]) &amp;&amp; is_array($this-&gt;data[$fieldName])) {
+			if (ClassRegistry::isKeySet($fieldName)) {
+				$model =&amp; ClassRegistry::getObject($fieldName);
+				$result = $this-&gt;__selectedArray($this-&gt;data[$fieldName], $model-&gt;primaryKey);
 			}
-		} elseif (isset($this-&gt;data[$this-&gt;model()][$this-&gt;modelID()][$this-&gt;field()])) {
-			$result = $this-&gt;data[$this-&gt;model()][$this-&gt;modelID()][$this-&gt;field()];
+		} elseif (isset($this-&gt;data[$modelName][$modelID][$fieldName])) {
+			$result = $this-&gt;data[$modelName][$modelID][$fieldName];
 		}
 
 		if (is_array($result)) {</diff>
      <filename>libs/view/helper.php</filename>
    </modified>
    <modified>
      <diff>@@ -317,6 +317,37 @@ class HelperTest extends CakeTestCase {
 		$this-&gt;assertEqual($this-&gt;View-&gt;fieldSuffix, null);
 	}
 /**
+ * test getting values from Helper
+ *
+ * @return void
+ **/
+	function testValue() {
+		$this-&gt;Helper-&gt;data = array('fullname' =&gt; 'This is me');
+		$this-&gt;Helper-&gt;setEntity('fullname');
+		$result = $this-&gt;Helper-&gt;value('fullname');
+		$this-&gt;assertEqual($result, 'This is me');
+
+		$this-&gt;Helper-&gt;data = array('Post' =&gt; array('name' =&gt; 'First Post'));
+		$this-&gt;Helper-&gt;setEntity('Post.name');
+		$result = $this-&gt;Helper-&gt;value('Post.name');
+		$this-&gt;assertEqual($result, 'First Post');
+
+		$this-&gt;Helper-&gt;data = array('Post' =&gt; array(2 =&gt; array('name' =&gt; 'First Post')));
+		$this-&gt;Helper-&gt;setEntity('Post.2.name');
+		$result = $this-&gt;Helper-&gt;value('Post.2.name');
+		$this-&gt;assertEqual($result, 'First Post');
+
+		$this-&gt;Helper-&gt;data = array('Post' =&gt; array(2 =&gt; array('created' =&gt; array('year' =&gt; '2008'))));
+		$this-&gt;Helper-&gt;setEntity('Post.2.created');
+		$result = $this-&gt;Helper-&gt;value('Post.2.created');
+		$this-&gt;assertEqual($result, array('year' =&gt; '2008'));
+
+		$this-&gt;Helper-&gt;data = array('Post' =&gt; array(2 =&gt; array('created' =&gt; array('year' =&gt; '2008'))));
+		$this-&gt;Helper-&gt;setEntity('Post.2.created.year');
+		$result = $this-&gt;Helper-&gt;value('Post.2.created.year');
+		$this-&gt;assertEqual($result, '2008');
+	}
+/**
  * testFieldsWithSameName method
  *
  * @access public</diff>
      <filename>tests/cases/libs/view/helper.test.php</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8219c34ec6d4e3ba7c77d18debc8f525776387ff</id>
    </parent>
  </parents>
  <author>
    <name>mark_story</name>
    <email>mark_story@3807eeeb-6ff5-0310-8944-8be069107fe0</email>
  </author>
  <url>http://github.com/joelmoss/cakephp/commit/9ef43de2d8362590f72611f9db2f128568d7b61a</url>
  <id>9ef43de2d8362590f72611f9db2f128568d7b61a</id>
  <committed-date>2009-01-26T11:45:55-08:00</committed-date>
  <authored-date>2009-01-26T11:45:55-08:00</authored-date>
  <message>Fixing Helper::value() when only a fieldname is used.  Refactoring Helper::value() to reduce method calls.  Added tests to Helper.  Fixes #6033

git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x/cake@8012 3807eeeb-6ff5-0310-8944-8be069107fe0</message>
  <tree>e43ba74982669d27eb0430d7154a826e004dbfb3</tree>
  <committer>
    <name>mark_story</name>
    <email>mark_story@3807eeeb-6ff5-0310-8944-8be069107fe0</email>
  </committer>
</commit>
