phpRS 2.6.5 : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzi phpRS v2.6.5.
phpRS - redakční a informační systém
Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-02, 15:21

V níže uvedném kódu, se mi nechce zobrazovat grafika bloku a nevím proč mohl by prosím někdo poradit<?php
function oa_parser(){
function parser($url){
$vyber = file_get_contents($url);
if(!$vyber){
echo "Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}

preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);

for($i = 2; $i <= 5; $i++)
{

$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];

echo "<li><a href=\"$odkaz\" >".$text."</a></li>";


}}


echo parser("http://www.neco.cz",5);

switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}

?>

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: zdenekh (IP adresa zaznamenána)
Datum: 2007-07-02, 15:38

To co se má zobrazit, musíš naplnit do proměnné $obsah.Více o tvorbě pluginu: tady a pár starších článků taky tady.

T. O. Severka Děčín | New r.č. | Old Good Tom | Jinak už v tom nefrčím... :-)



Celkem upraveno 1×. Poslední úprava zdenekh v 02.07.2007 15:40.

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-02, 16:00

Podle toho návodu jsem to zkoušel, ale nejde mi to . mohl bys mi to prosím zkusit nějak opravit v proměnné obsah chci zobrazovat, tyto dva řádky
echo "Aktuálně z webu";
echo "<li><a href=\"$odkaz\" >".$text."</a></li>";

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: zdenekh (IP adresa zaznamenána)
Datum: 2007-07-02, 16:20

Mělo by to být nějak takhle:

Tohle si dej někam na začátek funkce

$obsah="";
$obsah.="Aktuálně z webu";

a tohle do toho cyklu

$obsah.="<li><a href=\"$odkaz\" >".$text."</a></li>";

Musí to samozřejmě být ve stejné funkci, jako ten switch na konci. Musíš si s tím trošku pohrát;)

T. O. Severka Děčín | New r.č. | Old Good Tom | Jinak už v tom nefrčím... :-)

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-03, 07:48

Zkoušel jsem to takto:
<?php
function oa_parser(){
$obsah="";
$obsah.="<h1 class=\"cla-nadpis\"><img src=\"image/freestyle/bullet.gif\" border=\"0\" hspace=\"3\" alt=\"*\" /> Aktuálně z webu <h1>";
function parser($url){
$vyber = file_get_contents($url);
if(!$vyber){
echo "Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}

preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);

for($i = 2; $i <= 5; $i++)
{

$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];

echo"<li>".$text."</li>";



}

}


echo parser("http://www.neco.cz",5);

switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}

?>
Problém však nastává v tomto řádku - echo"<li>".$text."</li>"; zkoušel jsem to nahradit $obsah.="<li>".$text."</li>"; Ale nic se mi nezobrazilo. Zkrátka tam potřebuji nějak mít to echo, ale nevím jak to tam mám dát, zkoušel jsem to různě, ale vždy mi to vyhodilo chybu. Prosím o radu.



Celkem upraveno 1×. Poslední úprava Paja v 03.07.2007 07:49.

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: marty (IP adresa zaznamenána)
Datum: 2007-07-03, 08:57

<?php
function oa_parser(){
$obsah="";
$obsah.="Aktuálně z webu<br>";
function parser($url){
$vyber = file_get_contents($url);
if(!$vyber){
echo "Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}

preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);

for($i = 2; $i <= 5; $i++)
{

$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];

$obsah.="<li><a href=\"$odkaz\" >".$text."</a></li>";

}

}


$obsah.= parser("http://www.neco.cz",5);

switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}

?>

takto bych to videl asi ja.... je to v podstate totozne, jak radil zdenekh

jakekoliv echo ti bude sice fungovat, ale nikdy se ti to echo nezobrazi v bloku.

pises "vyhodilo chybu" ptam se jakou???
cauky marty

ICQ: 179653900
skype: marty_hranice
| www.hnfond.cz | | www.struhlovsko.cz | www.bxclub.com | www.r21club.com | www.palenice.net



Celkem upraveno 1×. Poslední úprava marty v 03.07.2007 08:58.

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-03, 09:17

Když tam to echo není tak se mi nezobrazí požadované informace, když ho tam dám tak se zobrazí informace, ale zase se nezobrazí grafika bloku. Při použití echo mi to vypsalo.

Parse error: parse error in /3w/kvalitne.cz/v/voska/plugin/oa_parser/oa_parser.php on line 20
Warning: call_user_func(oa_parser): First argument is expected to be a valid callback in /3w/kvalitne.cz/v/voska/trlayout.php on line 244

<?php
function oa_parser(){
$obsah="";
$obsah.="Aktuálně z webu<br>";
function parser($url){
$vyber = file_get_contents($url);
if(!$vyber){
echo "Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}

preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);

for($i = 2; $i <= 5; $i++)
{

$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];

$obsah.=echo"<li><a href=\"$odkaz\" >".$text."</a></li>";

}

}


$obsah.= parser("http://www.neco.cz",5);

switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}

?>

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: zdenekh (IP adresa zaznamenána)
Datum: 2007-07-03, 10:51

Každopádně to echo do proměnné nepatří. Bohužel zas nejsem takovej machr, abych od pohledu dokázal říct, proč to přes echo vypíše, ale přes proměnou ne.

Jenom takovej nápad, nevim jestli dobrej. Co kdybys v tý funkci parser použil místo proměnné return?

Asi nějak takto:


<?php
function oa_parser(){
$obsah="";
$obsah.="Aktuálně z webu<br>";
function parser($url){
$vyber = file_get_contents($url);

$obsahparser="";

if(!$vyber){
$obsahparser.="Funkce file_get_contents není na vašem hostingu povolená. Pro zmizení toho textu vypněte funkci RSS Parser v nastavení. (ID=15)";
}

preg_match_all("'<p>(.*?)<br/>'si", $vyber, $title);
preg_match_all('/<a[^>]*href="([^>]*)">/', $vyber, $link);



for($i = 2; $i <= 5; $i++)
{

$text = substr($title[1][$i], 0, 122);
$odkaz= $link[1][$i];

$obsahparser.="<li><a href=\"$odkaz\" >".$text."</a></li>";



}

return $obsahparser;

}


$obsah.= parser("http://www.neco.cz",5);

switch ($GLOBALS["vzhledwebu"]->AktBlokTyp()):
case 1: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 2: Blok2($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
case 3: Blok3($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
default: Blok1($GLOBALS["vzhledwebu"]->AktBlokNazev(),$obsah); break;
endswitch;
}

?>

Jestli správně uvažuju tak funkce parser svým průběhem naplní proměnnou $obsahparser, kterou pak příkazem return vrátí.
Pak když tu funkci tady v té proměnné zavoláš, tak by to mělo tu proměnnou naplnit vysledkem té funkce. $obsah.= parser("http://www.neco.cz",5);
Snad to píšu správně, no, za zkoušku nic nedáš. Když tak mě tu někdo zkušenější opravte.

T. O. Severka Děčín | New r.č. | Old Good Tom | Jinak už v tom nefrčím... :-)



Celkem upraveno 3×. Poslední úprava zdenekh v 03.07.2007 10:55.

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-03, 11:16

Tak toto mi taky nefunguje

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: zdenekh (IP adresa zaznamenána)
Datum: 2007-07-03, 12:40

Tak to už bohužel nevim... Asi to bude chtít nějakého lepšího borce... Jen se ještě zeptám, máš vše správně nastaveno v souboru plugin.php?

T. O. Severka Děčín | New r.č. | Old Good Tom | Jinak už v tom nefrčím... :-)

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: Paja (IP adresa zaznamenána)
Datum: 2007-07-03, 13:23

obsah souboru plugin.php

<?
######################################################################
# phpRS Plug-in modul: Nej články v1.1.6
######################################################################

// Copyright (c) 2001-2005 by Jiri Lukas ([email]jirilukas@supersvet.cz[/email])
// [http://www.supersvet.cz/phprs/]
// This program is free software. - Toto je bezplatny a svobodny software.

// jmeno plug-inu
$plugin_nazev="novinky-oa";
// pristupova prava; 1 = jen admin. modul, 2 = admin. a autorsky modul
$pi_pristup="1";
// pridat polozku do hlavniho administracniho menu; ano = 1, ne = 0
$pi_menu="0";
// nazev noveho tlacitka v admin. menu
$pi_nazev_menu="";
// identifikacni retezec modulu (max. 15 znaku)
$pi_indent_modulu="";
// relativni cesta k souboru s "rozcestnikem" k admin. sekci
$pi_inclakce_menu="";
// volaci link zakladni funce
$pi_link_menu="";
// pridat aktivacni polozku do seznamu systemovych bloku; ano = 1, ne = 0
$pi_sys_blok="1";
// nazev systemoveho bloku
$pi_nazev_blok="Systémový blok: oa_parser";
// identifikacni zkratka systemoveho bloku (3 znaky)
$pi_zkratka_blok="oap";
// relativni cesta k vykonnemu soubour
$pi_inclsb_blok="plugin/oa_parser/oa_parser.php";
// nazev vyvolane systemove funkce - nutno zapisovat bez prazdnych kulatych zavorek na konci
$pi_funkce_blok="oa_parser";
?>

Re: Problém s vytvořeným plugine
Zaslán uživatelem/kou: zdenekh (IP adresa zaznamenána)
Datum: 2007-07-03, 13:36

No tak to je OK..... Ale jak už jsem napsal, bohužel mě nenapadá, kde by mohla být jaká chyba...... Je mi líto.

T. O. Severka Děčín | New r.č. | Old Good Tom | Jinak už v tom nefrčím... :-)



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.