formulář výchozí hodnota

Ernst
04. říj 2015 21:54 #123736
Napsal jsem si formulář v quickpoznamka.tpl
<div id="lovefactory-dialog" title="{jtext _='dialog_quickpoznamka_dialog_title'}">
  <div class="lovefactory-dialog-quickpoznamka lovefactory-view">
    <div class="lovefactory-dialog-content">

      <form action="{jroute task='message.send'}" method="post">
        <table>

          <tr>
            <th><label>{jtext _='dialog_quickpoznamka_label_to'}</label></th>
            <td>{$username}</td>
          </tr>

          <tr>
            <th><label for="text">{jtext _='dialog_quickpoznamka_label_message'}</label></th>
            <td><textarea rows="5" cols="10" id="text" name="message[text]" ></textarea></td>
          </tr>
        </table>

        <input type="hidden" name="message[user_id]" value="{$userId}">
      </form>

    </div>

    <div class="lovefactory-dialog-buttons">
      <a href="#" class="dialog-button dialog-button-submit ui-state-hover"><i class="factory-icon icon-poznamka"></i>{jtext _='dialog_quickpoznamka_button_submit'}</a>
      <a href="#" class="dialog-button dialog-button-close"><i class="factory-icon icon-cross-button"></i>{jtext _='dialog_button_cancel'}</a>
    </div>
  </div>
</div>

Poradí mi někdo jak proměnné text nastavit výchozí hodnotu? Value = "" tam použít nemohu

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
04. říj 2015 22:37 - 04. říj 2015 22:37 #123737
Sice tomu vůbec nerozumim, ale nestačilo by:
<textarea rows="5" cols="10" id="text" name="message[text]" >počáteční hodnota</textarea>

I'm sorry, my responses are limited...you must ask the right questions.
Poděkovali: Ernst

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
04. říj 2015 22:50 #123738
Stačilo, díky

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
07. říj 2015 20:20 - 07. říj 2015 20:20 #123841
když výchozí hodnotu chci dát jako proměnnou, napíšu to takhle:
<textarea rows="5" cols="10" id="text" name="message[text]" >{$username}</textarea>

ještě mohu použít $user_id.
Ale nevím jak si naplnit proměnnou, ve které by byl výchozí text.

To $sername a $user_id jsou nějaké speciální proměnné?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
07. říj 2015 22:23 #123843
To se musíte podívat do view, kde se tato šablona vyvolává...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
07. říj 2015 22:57 #123845
děkuji
podívám se na to, ale příliš jsem se tomu zatím nevěnoval, protože jsem řešil to, o čem jsme si psali před chvíli.

V podstatě výchozí hodnota má být ta poznámka z databáze, pokud pro tuto dvojici uživatelů již existuje záznam. V podstatě tedy editace poznámky v databázi

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
08. říj 2015 18:30 #123858
Tak to studuji.
ve views je to voláno ze souboru default_interact.tpl
a v tom je:
  <!-- poznamka button -->
       <li>{jhtml _='LoveFactory.Quickpoznamka' userId=$profile->user_id test="12345"}</li>

to test jsem si tam doplnil jen na zkoušku

Ta guickpoznamka.tpl je:
<div id="lovefactory-dialog" title="{jtext _='dialog_quickpoznamka_dialog_title'}">
  <div class="lovefactory-dialog-quickpoznamka lovefactory-view">
    <div class="lovefactory-dialog-content">

      <form action="{jroute task='poznamka.send'}" method="post">
        <table>

          <tr>
            <th><label>{jtext _='dialog_quickpoznamka_label_to'}</label></th>
            <td>{$username}</td>
          </tr>
                
          <tr>
            <th><label for="text">{jtext _='dialog_quickpoznamka_label_message'}</label></th>
            <td><textarea rows="7" cols="12" id="text" name="message[text]" >{$test}</textarea></td>
          </tr>
        </table>

        <input type="hidden" name="message[user_id]" value="{$userId}">
     
      </form>

    </div>
    <div class="lovefactory-dialog-buttons">
      <a href="#" class="dialog-button dialog-button-submit ui-state-hover"><i class="factory-icon icon-poznamka"></i>{jtext _='dialog_quickpoznamka_button_submit'}</a>
      <a href="#" class="dialog-button dialog-button-close"><i class="factory-icon icon-cross-button"></i>{jtext _='dialog_button_cancel'}</a>
    </div>
  </div>
</div>

a já si myslel, že tam tu proměnnou test budu moci použít, ale tak to zjevně není

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
11. říj 2015 23:18 #123880
Jak jsem ji psal dříve, toto není standard Joomly. Komponenta používán pro šablony template systém Smarty.
Zkuste si projí dokumentaci k Smarty . Dokumentace přímo k šablonám Love facory je zde .

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
19. říj 2015 23:52 #124034
tak jsem si to přečetl, vše našel a před
$smarty->display($layout . '.tpl');
jsem dal
$smarty->assign('prpoz', $parametr), který jsem si předtím požadovaně naplnil, dejme tomu '1234'

když mám v tpl
<td><textarea rows="7" cols="12" id="text" name="message[text]"> {$prpoz} </textarea></td>

tak se tam 1234 nepředvyplní.

pokud uvedu
$smarty->assign('prpoz','1234'), tak se tam to 1234 předvyplní

Nějak nechápu. poradíte?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
20. říj 2015 00:47 #124037

ernst napsal: $smarty->assign('prpoz', $parametr), který jsem si předtím požadovaně naplnil, dejme tomu '1234'

No tady bude asi zakopanej pes. Jak přesně "požadovaně naplnil"?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
20. říj 2015 09:09 #124039
ano máte pravdu, ale momentálně to nechápu
 $user = intval(JFactory::getUser()->id);
      $on= intval($this->profile->user_id);
      $db = JFactory::getDbo(); 
     $query = $db->getQuery(true); 
     $conditions = array($db->quoteName('id_ja') . ' = '.$user .' and '.$db->quoteName('id_on') . ' = '.$on);
       $query->select(array('id_ja','id_on','poznamka'))
       ->from($db->quoteName('#__lovefactory_poznamka')) 
       ->where($conditions); 
     $db->setQuery($query);
     $row = $db->loadRow(); 
     
      $parametr=$row[2];
     // $parametr='123456';
      var_dump($parametr);
      $smarty->assign('prpoz', $parametr);

pokud tam nechám ten řádek $parametr='123456'; tak to funguje, pokud
$parametr=$row[2];, což je taky řetězec, tak ne

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
20. říj 2015 09:22 #124041
jediný, co mně napadá je, že to pole poznámka je textarea

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
20. říj 2015 10:39 #124042
zkusmo jsem si změnil v databázi to pole poznámka na char nebo varchar nebo text a výsledek je pořád stejný.
Jsem z toho nešťastný a nefunguje to.

Poradíte?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
20. říj 2015 11:57 #124044
A var_dump ukaze co?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
20. říj 2015 12:10 #124046
ukáže správný string (buď ten z databáze nebo na místě přiřazený)
gettype také ukáže, že obojí je string
dal jsem raději i
$parametr = trim($row[2]);
nic nepomáhá, nerozumím tomu.
že by něco s dědičností? To ale nedává smysl

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.