Another question in my continuing struggles to understand $PARAM's, properties and other advanced skinning techniques.
In order to have general code to change details of the home screen and the various items on it I have made use of $PARAM to pass names of skin strings to a dialog to allow the user to change the details of the selected item. For example I have a skin string called CustomMovies.4.Label and when the item is clicked in the customization screen, this name is written to a window property called Window(settings).Property(CurrentLabel). Now I can use this property to set a new value of the skin string, but I can't manage to then display the contents of this skin string in a <label> tag. The code as it currently stands is thus:
for the paramatized include.
Button 5011 reads the label of Label 8010 and passed the value to the include. Currently it displays the string "$INFO[Skin.String(CustomMovies.4.Label)]" which is what I would have in the label to show what the label is normally. If I drop the $INFO from include I get Skin.String(CustomMovies.4.Label), so think I'm on the right track, just I'm missing something important.
Can anyone suggest something I can try? As a note the <onclick> above is working just fine (in button 5011), so the button does what it should, just I can't feedback to the user the current state of the button.
Thanks, Wyrm (AppTV)
In order to have general code to change details of the home screen and the various items on it I have made use of $PARAM to pass names of skin strings to a dialog to allow the user to change the details of the selected item. For example I have a skin string called CustomMovies.4.Label and when the item is clicked in the customization screen, this name is written to a window property called Window(settings).Property(CurrentLabel). Now I can use this property to set a new value of the skin string, but I can't manage to then display the contents of this skin string in a <label> tag. The code as it currently stands is thus:
PHP Code:
<include name="use-skinstring">
<param name="lab2"/>
<definition>
<label2>$INFO[$PARAM[lab2]]</label2>
</definition>
</include>
for the paramatized include.
PHP Code:
<control type="label" id="8010"><!-- Hack to show current label string -->
<left>-200</left>
<top>-40</top>
<width>554</width>
<height>30</height>
<label>$INFO[Window(settings).Property(CurrentLabel),$INFO[Skin.String(,)]]</label>
<font>font11</font>
<visible>false</visible>
</control>
PHP Code:
<control type="button" id="5011"><!-- Change Label of custom menu item -->
<width>554</width>
<height>48</height>
<label>- $LOCALIZE[21899]</label>
<include name="use-skinstring">
<param name="lab2" value="Control.GetLabel(8010)"/>
</include>
<font>font11</font>
<onclick>Skin.SetString($INFO[Window(settings).Property(ListCustomBase),,.Label])</onclick>
<onclick>SetFocus(9000)</onclick>
<enable>!IsEmpty(Window(settings).Property(ListCustomBase))</enable>
</control>
Button 5011 reads the label of Label 8010 and passed the value to the include. Currently it displays the string "$INFO[Skin.String(CustomMovies.4.Label)]" which is what I would have in the label to show what the label is normally. If I drop the $INFO from include I get Skin.String(CustomMovies.4.Label), so think I'm on the right track, just I'm missing something important.
Can anyone suggest something I can try? As a note the <onclick> above is working just fine (in button 5011), so the button does what it should, just I can't feedback to the user the current state of the button.
Thanks, Wyrm (AppTV)