PDA

Zobacz pełną wersję : SOBI V-Card - przeróbka, wyrzucenie linka z tytułu wpisu, PHP if



michalk257
24-01-2010, 12:18
Witam.
W SOBI2 mam dwa pola służące do wpisania opisu. Jedno z nich to "podstawowe", drugie - "rozszerzone". Podstawowe będzie wypełniane zawsze, rozszerzone tylko czasami. Chciałbym tak zmodyfikować VCard, aby:
- gdy pole rozszerzone danego wpisu jest puste, VCard wyświetlał tytuł wpisu, ale bez robienia z niego linka do widoku szczegółowego,
- gdy pole rozszerzone jest wypełnione, tytuł w VCard jest linkiem do widoku szczegółowego.

Nie znam PHP, ale sądziłem, że prosty if nie będzie sprawiał zbyt wielu kłopotów. Okazało się, że zagadnienie jest bardziej skomplikowane niż sądziłem, dlatego proszę o pomoc.

Problemy zaczynają się, gdy wpiszę w VCard template warunek:


<?php if ($fieldsFormatted[field_opis_rozszerzony])=='' {
<!-- i tu dałbym wyświetlanie tytułu bez linka-->
};Po wpisaniu takiego czegoś (a także po zamianie cudzysłowu na aportrofy) na stronie pokazuje się... cały kod PHP VCarda, a CSSy nie są wczytywane :(.

Co więcej, gdyby nawet udało mi się obejść ten problem, zaraz czai się następny:

Jak się zdołałem zorientować, zmienna $title przechowuje w sobie tytuł wpisu, ale już zamieniony na link. Chciałem to ominąć przez usunięcie w kodzie SOBI2 <A href= itd., ale niestety - gmerałem w kilku plikach gdzie taki wpis występuje przy zmiennej $title i nic nie zdziałałem :(

Link do wpisu szczegółowego wstawiłbym sobie już w VCard, jeśli opis szczegółowy byłby niepusty.

Z góry dziękuję za pomoc.

neo_fox
24-01-2010, 12:28
<?php
if( strlen( $fieldsFormatted[ 'field_opis_rozszerzony' ] ) == 0 ) {
$title = $mySobi->title;
}
?>
<h2><?php echo $title; ?></h2>


A kod się pokazuje bo masz błąd w PHP ;-)
Pozdrawiam,
Radek

michalk257
24-01-2010, 14:10
Ło, dzięki wielkie, działa wyśmienicie! :) Plusik poszedł.

malin90
24-01-2010, 14:19
Jeśli można podczepić się pod temat bo jest pokrewny z moim problemem.
Otóż chciałbym w liście wpisów zrobić tak aby do szczegółów wpisu można było się dostać po kliknięciu na przygotowany obrazek. Teraz jest tak że do szczegółów można się dostać tylko po kliknięciu na tytuł i ikonę.
Bardzo proszę o pomoc :)

neo_fox
24-01-2010, 14:56
Coś w tym stylu:


$config =& sobi2Config::getInstance();
$catid = intval( sobi2Config::request( $_REQUEST, 'catid', 0 ) );
$href = "index.php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp; catid={$catid}&amp;sobi2Id={$id}&amp;Itemid={$config->sobi2Itemid}";
$href = sobi2Config::sef( $href );
echo
"<a href=\"{$href}\" title=\"Read More\">
<img src=\"sciezka/do/obrazka.jpg\" alt=\"Read More\"/>
</a> ";Pozdrawiam,
Radek

michalk257
24-01-2010, 14:59
Hmm, a jak wyłączyć "klikalność" tytułu w zmiennej $title? Żebym sobie mógł to <a href... dorobić w samym V-Card?

neo_fox
24-01-2010, 15:08
Możesz użyć $mySobi->titlezamiast $title albo strip_tags( $title )

malin90
24-01-2010, 15:58
coś nie bardzo mi wychodzi...
Zamiast generować link, wyświetla się "http://strona.pl/{$href}"

Oto co mam w szablonie:


<?php
/**
* @version $Id: sobi2.vc.tmpl.php 4987 2009-04-03 11:05:29Z Radek Suski $
* @package: Sigsiu Online Business Index 2
* ================================================== =
* @author
* Name: Sigrid & Radek Suski, Sigsiu.NET
* Email: sobi@sigsiu.net
* Url: http://www.sigsiu.net
* ================================================== =
* @copyright Copyright (C) 2006 - 2009 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_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );

/* ------------------------------------------------------------------------------
* This is the template for the V-Card View
* ------------------------------------------------------------------------------
*/
/* Don't remove this line! */
function sobi2VCview($id, $style, $ico, $img, $title, $fieldsObjects, $fieldsFormatted, $plugins, $editButton = null, $deleteButton = null)
{
// For advanced templating comment in the next line if you need to access other sobi2 object proporties
// $mySobi = new sobi2( $id );
// $config =& sobi2Config::getInstance();
// $catid = intval( sobi2Config::request( $_REQUEST, 'catid', 0 ) );
// $href = "index.php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp; catid={$catid}&amp;sobi2Id={$id}&amp;Itemid={$config->sobi2Itemid}";
// $href = sobi2Config::sef( $href );
// $waySearchLink = HTML_SOBI::createWaySearchUrl( $id );
?>
<td>
<!-- here starts the template -->
<div id="content">
<table cellspacing="0">
<tr>
<td class="typ"><?php echo $fieldsObjects['field_typ']->data; ?></td>
<td class="nazwa_obiektu"><?php echo $title; ?></td>
<td class="miejscowosc"><?php echo $fieldsObjects['field_city']->data; ?></td>
<td class="wojewodztwo"><?php echo $fieldsObjects['field_federal_state']->data; ?></td>
<td class="cena">od <?php echo $fieldsObjects['field_cenaod']->data; ?> zł do <?php echo $fieldsObjects['field_cenado']->data; ?> zł</td>
</tr>
<tr>
<td class="foto"><?php echo $ico; ?></td>
<td class="opis" colspan="3">Opis...</td>
<td class="sprawdz_oferte"><a href="{href}" title="sprawdź oferte"><img src="images/site/buttons/sprawdz_oferte.jpg" alt="sprawdź oferte"/></a></td>
</tr>
</table>
</div>
<!-- here ends the template -->
<!-- Don't remove these lines! -->
</td><?php
}
?>

michalk257
24-01-2010, 15:58
Dziękuję :)

neo_fox
24-01-2010, 16:38
<?php
/**
* @version $Id: sobi2.vc.tmpl.php 4987 2009-04-03 11:05:29Z Radek Suski $
* @package: Sigsiu Online Business Index 2
* ================================================== =
* @author
* Name: Sigrid & Radek Suski, Sigsiu.NET
* Email: sobi@sigsiu.net
* Url: http://www.sigsiu.net
* ================================================== =
* @copyright Copyright (C) 2006 - 2009 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_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );

/* ------------------------------------------------------------------------------
* This is the template for the V-Card View
* ------------------------------------------------------------------------------
*/
/* Don't remove this line! */
function sobi2VCview($id, $style, $ico, $img, $title, $fieldsObjects, $fieldsFormatted, $plugins, $editButton = null, $deleteButton = null)
{
// For advanced templating comment in the next line if you need to access other sobi2 object proporties
// $mySobi = new sobi2( $id );
$config =& sobi2Config::getInstance();
$catid = intval( sobi2Config::request( $_REQUEST, 'catid', 0 ) );
$href = "index.php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp; catid={$catid}&amp;sobi2Id={$id}&amp;Itemid={$config->sobi2Itemid}";
$href = sobi2Config::sef( $href );
// $waySearchLink = HTML_SOBI::createWaySearchUrl( $id );
?>
<td>
<!-- here starts the template -->
<div id="content">
<table cellspacing="0">
<tr>
<td class="typ"><?php echo $fieldsObjects['field_typ']->data; ?></td>
<td class="nazwa_obiektu"><?php echo $title; ?></td>
<td class="miejscowosc"><?php echo $fieldsObjects['field_city']->data; ?></td>
<td class="wojewodztwo"><?php echo $fieldsObjects['field_federal_state']->data; ?></td>
<td class="cena">od <?php echo $fieldsObjects['field_cenaod']->data; ?> zł do <?php echo $fieldsObjects['field_cenado']->data; ?> zł</td>
</tr>
<tr>
<td class="foto"><?php echo $ico; ?></td>
<td class="opis" colspan="3">Opis...</td>
<td class="sprawdz_oferte"><a href="<?php echo $href; ?>" title="sprawdź oferte"><img src="images/site/buttons/sprawdz_oferte.jpg" alt="sprawdź oferte"/></a></td>
</tr>
</table>
</div>
<!-- here ends the template -->
<!-- Don't remove these lines! -->
</td><?php
}
?>

malin90
24-01-2010, 16:46
Jesteś moim Bogiem...:) dzięki wielkie za pomoc, działa jak trzeba

iearts_C
24-02-2010, 13:21
Cześć Wszystkim mam problem z sobi2 mianowicie w konfiguracji wyświetlania parametr "Goście mogą oglądać szczegóły wpisu" ustawiłem na nie. I po kilknięciu w tytuł wpisu (już na stronie) wyświetla mi się link a w linku podany jest bieżący adres podstrony z dodanym na końcu "#" i po kliknięciu w ten link pojawia się komunikat że osoby niezarejestrowane nie mogą wejść dalej (czy coś w tym stylu) . Stosowałem się do wszystkiego co wyżej jest napisane u mnie to jakoś nie działa ;/ nie wiem czemu
o to kod php moje wizytówki V-card:

<?php
/**
* @version $Id: sobi2.vc.tmpl.php 4987 2009-04-03 11:05:29Z Radek Suski $
* @package: Sigsiu Online Business Index 2
* ================================================== =
* @author
* Name: Sigrid & Radek Suski, Sigsiu.NET
* Email: sobi@sigsiu.net
* Url: http://www.sigsiu.net
* ================================================== =
* @copyright Copyright (C) 2006 - 2009 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_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );

/* ------------------------------------------------------------------------------
* This is the template for the V-Card View
* ------------------------------------------------------------------------------
*/
/* Don't remove this line! */
function sobi2VCview($id, $style, $ico, $img, title, $fieldsObjects, $fieldsFormatted, $plugins, $editButton = null, $deleteButton = null)
{
// For advanced templating comment in the next line if you need to access other sobi2 object proporties
// $mySobi = new sobi2( $id );
// $config =& sobi2Config::getInstance();
// $waySearchLink = HTML_SOBI::createWaySearchUrl( $id );
?>
<!-- here starts the template -->

<td class="table2" <?php echo $style; ?>>
<p><?php echo $editButton; ?>
<?php echo $deleteButton; ?>
<?php echo $ico; ?>
<?php echo $ico; ?><?php echo $mySobi->title ?></p>
<p>&nbsp;</p>


<!-- here ends the template -->

<!-- Don't remove these lines! -->
</td><?php
}
?>


Z Góry dzięki za pomoc.

jacek_m
03-03-2010, 12:52
Witam, chciałbym się podłączyć do tematu :) Czy ktoś wie, jak zmienić rodzaj pola "title" tak, żeby przy dodawaniu wpisu, nie wpisywać tytułów tylko wybierać je z listy zdefiniowanych tytułów? Najlepiej by było gdyby te zdefiniowane tytuły były kategoriami.
Z góry dziękuję za pomoc.

shady
16-12-2010, 21:58
pozwólcie że podepnę się, edytuje plik sobi2.vc.tmpl.php ale na stronie nie widzę zmian..

pozdr.
jn