PDA

Zobacz pełną wersję : Sobi2 - podpowiedź w formularzu dodawania wpisu



naszemiasto
21-04-2011, 19:46
witam,

potrzebuję aby w formularzu dodawania wpisu pole tytuł było automatycznie wypełniane nazwą użytkownika , którą każdy rejestrujący się user musi podać.
Wypociłem coś takiego:


<?php $user =& JFactory::getUser();if( $user->id && $user->name ) { ?> <input id="EntryName" class="inputbox" type="text" value="<?php echo $user->name; ?>" maxlength="100" size="30" name="EntryName" /><?php } else { echo $fields['EntryName']['field'];} ?>


No i owszem, pobiera nazwę, cacy glanc, ale w momencie zatwierdzania wpisu bubu się robi... po prostu wywala komunikat "Nie masz uprawnień do oglądania tej strony".
Mógłby ktoś doradzić coś sensownego bo chyba sam nic nie wymyślę ?

Jola
22-04-2011, 02:01
Witam,
a jak było przed modyfikacją?

naszemiasto
22-04-2011, 10:40
przed modyfikacją było tak:


<?php
/**
* @version $Id: sobi2.form.tmpl.php 5462 2010-08-18 08:25:37Z Sigrid Suski $
* @package: Sigsiu Online Business Index 2 (Sobi2)
* ================================================== =
* @author
* Name: Sigrid & Radek Suski, Sigsiu.NET GmbH
* Email: sobi[at]sigsiu.net
* Url: http://www.sigsiu.net (http://www.sigsiu.net/)
* ================================================== =
* @copyright Copyright (C) 2006 - 2010 Sigsiu.NET GmbH (http://www.sigsiu.net (http://www.sigsiu.net/)). All rights reserved.
* @license see http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL.
* You can use, redistribute this file and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation.
*/
/*please do not remove this line */
defined( '_SOBI2_' ) || exit("Restricted access");
/* ------------------------------------------------------------------------------
* This is an example template for the Entry Form
* ------------------------------------------------------------------------------
*/
?>
<?php
/* ------------------------------------------------------------------------------
* Here are several standard free fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $screenTitle; ?>
<?php echo $requiredFieldsInfo; ?>
<?php echo $fields['EntryName']['label']; ?><?php echo $fields['EntryName']['field']; ?><br/>
<?php echo $fields['field_street']['label']; ?><?php echo $fields['field_street']['field']; ?><br/>
<?php echo $fields['field_postcode']['label']; ?><?php echo $fields['field_postcode']['field']; ?><br/>
<?php echo $fields['field_city']['label']; ?> <?php echo $fields['field_city']['field']; ?><br/>
<?php echo $fields['field_county']['label']; ?> <?php echo $fields['field_county']['field']; ?><br/>
<?php echo $fields['field_federal_state']['label']; ?> <?php echo $fields['field_federal_state']['field']; ?><br/>
<?php echo $fields['field_country']['label']; ?> <?php echo $fields['field_country']['field']; ?><br/>
<?php echo $fields['field_email']['label']; ?> <?php echo $fields['field_email']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* But if these are not free fields
* @example these informations are in the following variables:
* $fields['field_fieldname']['payment']['box'] - is the checkbox to activate the target field
* $fields['field_fieldname']['payment']['box_label'] - is the label of this checkbox. A text like "add website"
* $fields['field_fieldname']['payment']['explanation'] - explanation text. Something like "This option is not for free. It costs: 20$"
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_website']['payment']['box']; ?>
<?php echo $fields['field_website']['payment']['box_label']; ?><br/>
<?php echo $fields['field_website']['payment']['explanation']; ?>
<?php echo $fields['field_website']['label']; ?> <?php echo $fields['field_website']['field']; ?><br/>
<?php
/** ------------------------------------------------------------------------------
* Of course You can add the additional payment infos to all fields.
* If the field is for free, nothing will be shown.
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_contact_person']['payment']['box']; ?>
<?php echo $fields['field_contact_person']['payment']['box_label']; ?><br/>
<?php echo $fields['field_contact_person']['payment']['explanation']; ?>
<?php echo $fields['field_contact_person']['label']; ?> <?php echo $fields['field_contact_person']['field']; ?><br/>
<?php echo $fields['field_phone']['payment']['box']; ?>
<?php echo $fields['field_phone']['payment']['box_label']; ?><br/>
<?php echo $fields['field_phone']['payment']['explanation']; ?>
<?php echo $fields['field_phone']['label']; ?> <?php echo $fields['field_phone']['field']; ?><br/>
<?php echo $fields['field_fax']['payment']['box']; ?>
<?php echo $fields['field_fax']['payment']['box_label']; ?><br/>
<?php echo $fields['field_fax']['payment']['explanation']; ?>
<?php echo $fields['field_fax']['label']; ?> <?php echo $fields['field_fax']['field']; ?><br/>
<?php echo $fields['field_hotline']['payment']['box']; ?>
<?php echo $fields['field_hotline']['payment']['box_label']; ?><br/>
<?php echo $fields['field_hotline']['payment']['explanation']; ?>
<?php echo $fields['field_hotline']['label']; ?> <?php echo $fields['field_hotline']['field']; ?><br/>
<?php echo $fields['field_description']['payment']['box']; ?>
<?php echo $fields['field_description']['payment']['box_label']; ?><br/>
<?php echo $fields['field_description']['payment']['explanation']; ?>
<?php echo $fields['field_description']['label']; ?> <?php echo $fields['field_description']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* Now several special Sobi2 fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['Metakeys']['label']; ?><?php echo $fields['Metakeys']['field']; ?><br/>
<?php echo $fields['MetaDesc']['label']; ?><?php echo $fields['MetaDesc']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* The Image/Icon fields and the background chooser are splitted in two fields. One is the input field, the other is an already existing image
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['ExistingImg']['label']; ?><?php echo $fields['ExistingImg']['field']; ?><br/>
<?php echo $fields['ImgField']['payment']['box']; ?>
<?php echo $fields['ImgField']['payment']['box_label']; ?><br/>
<?php echo $fields['ImgField']['payment']['explanation']; ?>
<?php echo $fields['ImgField']['label']; ?> <?php echo $fields['ImgField']['field']; ?><br/>
<?php echo $fields['ExistingIco']['label']; ?><?php echo $fields['ExistingIco']['field']; ?><br/>
<?php echo $fields['IcoField']['payment']['box']; ?>
<?php echo $fields['IcoField']['payment']['box_label']; ?><br/>
<?php echo $fields['IcoField']['payment']['explanation']; ?>
<?php echo $fields['IcoField']['label']; ?> <?php echo $fields['IcoField']['field']; ?><br/>
<?php echo $fields['BackgroundChooser']['label']; ?><?php echo $fields['BackgroundChooser']['field']; ?><br/>
<?php echo $fields['BackgroundPreview']['label']; ?><?php echo $fields['BackgroundPreview']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* Let's show the category chooser now
* ------------------------------------------------------------------------------
*/
?>
<?php echo $catChooser; ?>
<?php
/* ------------------------------------------------------------------------------
* Safety code is splitted in two fields too
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['SafetyCodeImage']['label']; ?><?php echo $fields['SafetyCodeImage']['field']; ?><br/>
<?php echo $fields['SafetyCodeField']['label']; ?><?php echo $fields['SafetyCodeField']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* At least the entry rules confirmation (has to be in a div container with id="accept_rules_row")
* ------------------------------------------------------------------------------
*/
?>
<div id="accept_rules_row">
<?php echo $fields['EntryRules']['label']; ?><?php echo $fields['EntryRules']['field']; ?>
</div>
<?php
/* ------------------------------------------------------------------------------
* And of course the buttons
* ------------------------------------------------------------------------------
*/
?>
<?php echo $cancelButton; ?>
<?php echo $sendButton; ?><br/>

zmiana dotyczy tego co zaznaczone czerwonym...

Jola
22-04-2011, 21:30
Nie rozumiemy się, chodzi mi o to jak się zachowywał Sobi2 po zatwierdzeniu wpisu przed modyfikacją.

naszemiasto
22-04-2011, 22:14
Przed modyfikacją nie było żadnych problemów. Poza tym po modyfikacji wystepuje również problem z nazwą we wpisach które były zrobione wcześniej. A tak jaśniej : zrobiłem wpis przed modyfikacją a po modyfikacji , w czasie edycji tego wpisu nazwa ginie.
W ten sam sposób zrobiłem podpowiedź emaila, i tam jest wsio w porządku.

naszemiasto
25-04-2011, 17:41
No i gotowe. Drobna zmiana w kodzie (złe id i wartość name).Właściwy kod szablonu dodawania wpisu z podpowiedzią nazwy użytkownika joomla jakby komuś w przyszłości było to potrzebne:



<?php
/* ------------------------------------------------------------------------------
* Here are several standard free fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $screenTitle; ?>
<?php echo $requiredFieldsInfo; ?>
<?php echo $fields['EntryName']['label']; ?><?php $user =& JFactory::getUser();if ($nazwa=$user->get('name')) { ?> <input id="field_entry_name" class="inputbox" type="text" value="<?php echo $nazwa; ?>" maxlength="100" size="30" name="field_entry_name" readonly="readonly" /><?php } else { echo $fields['EntryName']['field'];} ?><br/>

<?php echo $fields['field_street']['label']; ?><?php echo $fields['field_street']['field']; ?><br/>
<?php echo $fields['field_postcode']['label']; ?><?php echo $fields['field_postcode']['field']; ?><br/>
<?php echo $fields['field_city']['label']; ?> <?php echo $fields['field_city']['field']; ?><br/>
<?php echo $fields['field_county']['label']; ?> <?php echo $fields['field_county']['field']; ?><br/>
<?php echo $fields['field_federal_state']['label']; ?> <?php echo $fields['field_federal_state']['field']; ?><br/>
<?php echo $fields['field_country']['label']; ?> <?php echo $fields['field_country']['field']; ?><br/>
<?php echo $fields['field_email']['label']; ?> <?php echo $fields['field_email']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* But if these are not free fields
* @example these informations are in the following variables:
* $fields['field_fieldname']['payment']['box'] - is the checkbox to activate the target field
* $fields['field_fieldname']['payment']['box_label'] - is the label of this checkbox. A text like "add website"
* $fields['field_fieldname']['payment']['explanation'] - explanation text. Something like "This option is not for free. It costs: 20$"
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_website']['payment']['box']; ?>
<?php echo $fields['field_website']['payment']['box_label']; ?><br/>
<?php echo $fields['field_website']['payment']['explanation']; ?>
<?php echo $fields['field_website']['label']; ?> <?php echo $fields['field_website']['field']; ?><br/>
<?php
/** ------------------------------------------------------------------------------
* Of course You can add the additional payment infos to all fields.
* If the field is for free, nothing will be shown.
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['field_contact_person']['payment']['box']; ?>
<?php echo $fields['field_contact_person']['payment']['box_label']; ?><br/>
<?php echo $fields['field_contact_person']['payment']['explanation']; ?>
<?php echo $fields['field_contact_person']['label']; ?> <?php echo $fields['field_contact_person']['field']; ?><br/>
<?php echo $fields['field_phone']['payment']['box']; ?>
<?php echo $fields['field_phone']['payment']['box_label']; ?><br/>
<?php echo $fields['field_phone']['payment']['explanation']; ?>
<?php echo $fields['field_phone']['label']; ?> <?php echo $fields['field_phone']['field']; ?><br/>
<?php echo $fields['field_fax']['payment']['box']; ?>
<?php echo $fields['field_fax']['payment']['box_label']; ?><br/>
<?php echo $fields['field_fax']['payment']['explanation']; ?>
<?php echo $fields['field_fax']['label']; ?> <?php echo $fields['field_fax']['field']; ?><br/>
<?php echo $fields['field_hotline']['payment']['box']; ?>
<?php echo $fields['field_hotline']['payment']['box_label']; ?><br/>
<?php echo $fields['field_hotline']['payment']['explanation']; ?>
<?php echo $fields['field_hotline']['label']; ?> <?php echo $fields['field_hotline']['field']; ?><br/>
<?php echo $fields['field_description']['payment']['box']; ?>
<?php echo $fields['field_description']['payment']['box_label']; ?><br/>
<?php echo $fields['field_description']['payment']['explanation']; ?>
<?php echo $fields['field_description']['label']; ?> <?php echo $fields['field_description']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* Now several special SOBI2 fields
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['Metakeys']['label']; ?><?php echo $fields['Metakeys']['field']; ?><br/>
<?php echo $fields['MetaDesc']['label']; ?><?php echo $fields['MetaDesc']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* The Image/Icon fields and the background chooser are splitted in two fields. One is the input field, the other is an already existing image
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['ExistingImg']['label']; ?><?php echo $fields['ExistingImg']['field']; ?><br/>
<?php echo $fields['ImgField']['payment']['box']; ?>
<?php echo $fields['ImgField']['payment']['box_label']; ?><br/>
<?php echo $fields['ImgField']['payment']['explanation']; ?>
<?php echo $fields['ImgField']['label']; ?> <?php echo $fields['ImgField']['field']; ?><br/>
<?php echo $fields['ExistingIco']['label']; ?><?php echo $fields['ExistingIco']['field']; ?><br/>
<?php echo $fields['IcoField']['payment']['box']; ?>
<?php echo $fields['IcoField']['payment']['box_label']; ?><br/>
<?php echo $fields['IcoField']['payment']['explanation']; ?>
<?php echo $fields['IcoField']['label']; ?> <?php echo $fields['IcoField']['field']; ?><br/>
<?php echo $fields['BackgroundChooser']['label']; ?><?php echo $fields['BackgroundChooser']['field']; ?><br/>
<?php echo $fields['BackgroundPreview']['label']; ?><?php echo $fields['BackgroundPreview']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* Let's show the category chooser now
* ------------------------------------------------------------------------------
*/
?>
<?php echo $catChooser; ?>
<?php
/* ------------------------------------------------------------------------------
* Safety code is splitted in two fields too
* ------------------------------------------------------------------------------
*/
?>
<?php echo $fields['SafetyCodeImage']['label']; ?><?php echo $fields['SafetyCodeImage']['field']; ?><br/>
<?php echo $fields['SafetyCodeField']['label']; ?><?php echo $fields['SafetyCodeField']['field']; ?><br/>
<?php
/* ------------------------------------------------------------------------------
* At least the entry rules confirmation (has to be in a div container with id="accept_rules_row")
* ------------------------------------------------------------------------------
*/
?>
<div id="accept_rules_row">
<?php echo $fields['EntryRules']['label']; ?><?php echo $fields['EntryRules']['field']; ?>
</div>
<?php
/* ------------------------------------------------------------------------------
* And of course the buttons
* ------------------------------------------------------------------------------
*/
?>
<?php echo $cancelButton; ?>
<?php echo $sendButton; ?><br/>