Vai al contenuto
  • 0

ip content e o stato a cosa stai pensando


trattore

Domanda

Ciao...buona giornata, qualcuno puo illuminarmi di come posso mette gli aggiornamenti di stato sulla agina dell ip.content? il blocco esiste ok ma io vorrei quacosa dove posso modificare le dimensioni dei caratteri ecc...una cosa tipo il tab che c'è in ogni profilo utente...grazie in anticipo

Link al commento
Condividi su altri siti

Messaggi raccomandati

  • 0

ciao, se editi il blocco vedrai che ci sono dentro tutti i campi richiamati, quindi puoi eliminare i richiami css e metterne di tuoi personalizzati o usare altri css della board

Link al commento
Condividi su altri siti

  • 0

Pultroppo andando a modificare il blocco i da poca roba ... infatti dentro trovo solo

<script type="text/javascript" src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>{$output}<br />

mannaggia qui la vedo dura

Link al commento
Condividi su altri siti

  • 0

ma nei block templates c'è soltanto nel tab members Status Update Bubbles li trovo tutta ma l unica pecca e che non si possono commentare l elenco degli stati...appare solo il fumetto dello stato e stop...

Link al commento
Condividi su altri siti

  • 0

e si comunque non te li farebbe commentare....

basterebbe seguire form usati nei template delle skin e vedere gli script a cui fanno capo...

<form method="post" action="http://tuosito.net/index.php?app=members&module=profile&section=status&do=new&k=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&id=ID_UTENTE" id="statusForm" style="z-index: 10000;">	<input type="text" style="width: 97%; z-index: 10000;" class="input_text" name="content" id="statusUpdateGlobal" placeholder="A cosa stai pensando?"><br style="z-index: 10000;">	<input type="submit" value="Aggiorna" class="ipsButton_secondary" id="statusSubmitGlobal" style="z-index: 10000;">	  	<input type="checkbox" name="su_Twitter" value="1" id="su_TwitterGlobal" style="z-index: 10000;"> <label class="desc ipsType_smaller" for="su_TwitterGlobal" style="z-index: 10000;">Twitter</label>   	 <input type="checkbox" name="su_Facebook" value="1" id="su_FacebookGlobal" style="z-index: 10000;"> <label class="desc ipsType_smaller" for="su_FacebookGlobal" style="z-index: 10000;">Facebook</label>	<br style="z-index: 10000;">	<hr style="z-index: 10000;"></form>
<if test="canUpdateStatus:|:$this->registry->getClass('memberStatus')->canCreate( $this->memberData ) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline'])">									<form id='statusForm' action='{$this->settings['base_url']}app=members&module=profile&section=status&do=new&k={$this->member->form_hash}&id={$this->memberData['member_id']}' method='post'>										<input type='text' id='statusUpdateGlobal' name='content' class='input_text' style='width: 97%' /><br />										<input type='submit' id='statusSubmitGlobal' class='ipsButton_secondary' value='{$this->lang->words['global_update_status']}' />										<if test="update:|:(IPSLib::twitter_enabled() OR IPSLib::fbc_enabled() ) AND ( $this->memberData['fb_uid'] OR $this->memberData['twitter_id'] )">											  											<if test="updateTwitter:|:IPSLib::twitter_enabled() AND ( $this->memberData['twitter_id'] )"><input type='checkbox' id='su_TwitterGlobal' value='1' name='su_Twitter' /> <label for='su_TwitterGlobal' class='desc ipsType_smaller'>Twitter</label></if>   											<if test="updateFacebook:|:IPSLib::fbc_enabled() AND ( $this->memberData['fb_uid'] )"> <input type='checkbox' id='su_FacebookGlobal' value='1' name='su_Facebook' /> <label for='su_FacebookGlobal' class='desc ipsType_smaller'>Facebook</label></if>										</if>										<br />										<hr />									</form>								</if>

il codice l'ho preso nel popup che appare quando clicchi sul proprio nickname sotto/sopra il logo (nel globalTemplate)

Link al commento
Condividi su altri siti

  • 0

MA in questo modo mi appare solo il form...io vorrei che sotto apparissero anche tutti gli altri stati aggiornati... e che una volta che scrivi qualcosa quando premi invio...appare subito sotto senza riportarti alla pagina del tuo profilo...in sostanza come succede quando scrivi nei link forniti da questo argomento http://www.invisionita.it/forum/topic/2206-ipb-in-versione-social-network/?view=getnewpost

Link al commento
Condividi su altri siti

  • 0

MA in questo modo mi appare solo il form...io vorrei che sotto apparissero anche tutti gli altri stati aggiornati... e che una volta che scrivi qualcosa quando premi invio...appare subito sotto senza riportarti alla pagina del tuo profilo...in sostanza come succede quando scrivi nei link forniti da questo argomento http://www.invisionita.it/forum/topic/2206-ipb-in-versione-social-network/?view=getnewpost

per inserire un nuovo stato senza aggiornare la pagina occorre ajax combinato a php/javascript... altrimenti come segue usi un template già esistente!

 

prima di tutto occorre ottenere i dati...

/applications/members/sources/classes/hooks/gateway.php
    public function statusUpdates()    {    	/* System enabled? */    	if ( ! $this->settings['su_enabled'] )    	{    		return '';    	}    	    	$this->registry->class_localization->loadLanguageFile( array( 'public_profile' ), 'members' );    			/* Load status class */		if ( ! $this->registry->isClassLoaded( 'memberStatus' ) )		{			$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/status.php', 'memberStatus' );			$this->registry->setClass( 'memberStatus', new $classToLoad( ipsRegistry::instance() ) );		}				/* Fetch */		$statuses = $this->registry->getClass('memberStatus')->fetch( $this->memberData, array( 'limit' => intval( $this->settings['status_sidebar_show_x'] ), 'status_is_latest' => 1, 'ownerOnly' => true ) );		                /* PUOI USARE ANCHE UN BLOCCO CHE FAI IN PHP CON IP.CONTENT*/		return $this->registry->getClass('output')->getTemplate('boards')->hookBoardIndexStatusUpdates( $statuses );    }

e poi se vuoi personalizzare la parte interna del template sostituisci

                /* PUOI USARE ANCHE UN BLOCCO CHE FAI IN PHP CON IP.CONTENT*/		return $this->registry->getClass('output')->getTemplate('boards')->hookBoardIndexStatusUpdates( $statuses );

con la tua funzione tipo return pagina_stati( $statuses )... che normalmente sarebbe:

public function pagina_stati( $statuses ){return <<<HTML<script type='text/javascript' src="{$this->settings['public_dir']}js/ips.status.js"></script><div class='ipsSideBlock clearfix' id='statusHook'>	<h3>{$this->lang->words['recent_status_updates']}</h3>	<div class='_sbcollapsable'>		<div id="status_wrapper">			<div id="status_wrapper_inside">{parse template="statusUpdates" group="boards" params="$updates, 1, 1"}</div>			<div class="status_main_content ipsType_small" style='text-align: center'>				<a href='{parse url="app=members&module=profile&section=status&type=all" seotitle="true" template="members_status_all" base="public"}'>{$this->lang->words['viewallupdates']}</a>			</div>		</div>	</div></div>HTML;}

il risultato sarebbe come nel blocco degli stati nella board index in sidebar

Shades-20100111-162904.png

Link al commento
Condividi su altri siti

  • 0

non mi appare nulla ho messo questo codice creando un blocco template

<?phppublic function pagina_stati( $statuses ){return <<<HTML<script type='text/javascript' src="{$this->settings['public_dir']}js/ips.status.js"></script><div class='ipsSideBlock clearfix' id='statusHook'>	<h3>{$this->lang->words['recent_status_updates']}</h3>	<div class='_sbcollapsable'>		<div id="status_wrapper">			<div id="status_wrapper_inside">{parse template="statusUpdates" group="boards" params="$updates, 1, 1"}</div>			<div class="status_main_content ipsType_small" style='text-align: center'>				<a href='{parse url="app=members&module=profile&section=status&type=all" seotitle="true" template="members_status_all" base="public"}'>{$this->lang->words['viewallupdates']}</a>			</div>		</div>	</div></div>HTML;}?>

 ma non mi appare nulla =(solo due linee colorate

Link al commento
Condividi su altri siti

  • 0

ok ora ho cambiato totalmente il codice... devi creare una pagina in Raw PHP e inserire all'interno questo codice

$this->registry->class_localization->loadLanguageFile( array( 'public_profile' ), 'members' );$this->registry->class_localization->loadLanguageFile( array( 'public_boards' ), 'forums' );/* Load status class */if ( ! $this->registry->isClassLoaded( 'memberStatus' ) ){	$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/status.php', 'memberStatus' );	$this->registry->setClass( 'memberStatus', new $classToLoad( ipsRegistry::instance() ) );}/* Fetch */$updates = $this->registry->getClass('memberStatus')->fetch( $this->memberData, array( 'limit' => intval( $this->settings['status_sidebar_show_x'] ), 'status_is_latest' => 1, 'ownerOnly' => true ) );    	?><script type='text/javascript' src="<? print $this->settings['public_dir'] ?>js/ips.status.js"></script><div class='ipsSideBlock clearfix' id='statusHook'>	<h3><? print $this->lang->words['recent_status_updates'] ?></h3>	<div class='_sbcollapsable'>		<div id="status_wrapper">			<div id="status_wrapper_inside"><? print $this->registry->getClass('output')->getTemplate('boards')->statusUpdates($updates, 1, 1) ?></div>			<div class="status_main_content ipsType_small" style='text-align: center'>				<a href='<? print $this->registry->output->buildSEOUrl( 'app=members&module=profile&section=status&type=all', 'public', true, 'members_status_all' )?>'><? print $this->lang->words['viewallupdates'] ?></a>			</div>			</div>	</div></div><?

al posto di <? va sostituito <?php se hai una versione di php inferiore alla 5.3

post-29-0-81357200-1395456973_thumb.png

  • Like 1
Link al commento
Condividi su altri siti

  • 0

M-I-T-I-C-O ora funziona! vorrei chiederti ora come faccio a inserire in campo sopra (a cosa stai pensando) e quando invii rimane la nella pagina e ti carica il tuo stato a scendere subito....ANCORA GRAZIE MILLE

  • Like 1
Link al commento
Condividi su altri siti

  • 0

M-I-T-I-C-O ora funziona! vorrei chiederti ora come faccio a inserire in campo sopra (a cosa stai pensando) e quando invii rimane la nella pagina e ti carica il tuo stato a scendere subito....ANCORA GRAZIE MILLE

$this->registry->class_localization->loadLanguageFile( array( 'public_profile' ), 'members' );$this->registry->class_localization->loadLanguageFile( array( 'public_boards' ), 'forums' );/* Load status class */		if ( ! $this->registry->isClassLoaded( 'memberStatus' ) )		{			$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/status.php', 'memberStatus' );			$this->registry->setClass( 'memberStatus', new $classToLoad( ipsRegistry::instance() ) );		}				/* Fetch */		$updates = $this->registry->getClass('memberStatus')->fetch( $this->memberData, array( 'limit' => intval( $this->settings['status_sidebar_show_x'] ), 'status_is_latest' => 1, 'ownerOnly' => true ) );?><script type='text/javascript' src="<? print $this->settings['public_dir'] ?>js/ips.status.js"></script><div class='ipsSideBlock clearfix' id='statusHook'>	<h3><? print $this->lang->words['recent_status_updates'] ?></h3><? if ($this->registry->getClass('memberStatus')->canCreate( $this->memberData ) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline'])){ 	print "<div class='status_update row2'><form id='statusForm' action='". $this->settings['base_url']."app=members&module=profile&section=status&do=new&k=".$this->member->form_hash."&id=".$this->memberData['member_id']."' method='post'>		<input type='text' id='statusUpdate_page' name='content' style='width:60%' class='input_text' />		<input type='submit' id='statusSubmit_page' class='ipsButton_secondary' value='".$this->lang->words['gbl_post']."' />";		if ((IPSLib::twitter_enabled() OR IPSLib::fbc_enabled() ) AND ( $this->memberData['fb_uid'] OR $this->memberData['twitter_id'] )){		print "  ";		if (IPSLib::twitter_enabled() AND ( $this->memberData['twitter_id'] )){ print "<input type='checkbox' id='su_Twitter' value='1' name='su_Twitter' /> <label for='su_Twitter' class='desc ipsType_smaller'>Twitter</label>"; } print " ";		if (IPSLib::fbc_enabled() AND ( $this->memberData['fb_uid'] )){ print " <input type='checkbox' id='su_Facebook' value='1' name='su_Facebook' /> <label for='su_Facebook' class='desc ipsType_smaller'>Facebook</label>"; }		}		print "<br />		<hr />	</form></div>";} ?><br />	<div class='_sbcollapsable'>		<div id="status_wrapper">			<div id="status_wrapper_inside"><? print $this->registry->getClass('output')->getTemplate('boards')->statusUpdates($updates, 1, 1) ?></div>			<div class="status_main_content ipsType_small" style='text-align: center'>				<a href='<? print $this->registry->output->buildSEOUrl( 'app=members&module=profile&section=status&type=all', 'public', true, 'members_status_all' )?>'><? print $this->lang->words['viewallupdates'] ?></a>			</div>			</div>	</div></div><?

funziona in tutto e per tutto... se vuoi più di 5 risultati devi modificare $this->settings['status_sidebar_show_x'] nel codice e sostituirlo con un numero maggiore ;)

 

l'importante è che ips.status.js venga caricato, ci pensa lui a autoinserire o autoaggiornare(se il più recente è il tuo viene sostituito, cioè non eliminato dal sistema, lasciando l'ultimo valore di stato... i precedenti sono comunque archiviati nel tuo profilo) il tuo ultimo stato pubblicato  :D

 

ps: per abilitare emoticon e bbcode occorre installare questo xml tra le hooks (leggi qui per ulteriori info)

  • Like 1
Link al commento
Condividi su altri siti

  • 0

Pultroppo non riesco a mettere le emoticons non c'è verso di mettere un pulsante a fianco il tasto pubblica degli smile che quando clicchi fa come la showbox...sarebbe fico anche inserire un bottone per url delle foto e url del video...ma mi sembra mollto complicato farlo..

Link al commento
Condividi su altri siti

  • 0

Pultroppo non riesco a mettere le emoticons non c'è verso di mettere un pulsante a fianco il tasto pubblica degli smile che quando clicchi fa come la showbox...sarebbe fico anche inserire un bottone per url delle foto e url del video...ma mi sembra mollto complicato farlo..

se hai installata la shoutbox allora dovrebbe essere semplice, basterebbe fare lo stesso tipo di analisi... prelevare lo script js e inserire l'html adeguato...

ho controllato per ora in hookGlobalShoutboxEmoticons e potresti direttamente inserire questo blocco se viene cliccato l'input con funzioni come onclick="show_popup_emo()" dove show_popup_emo() è la funzione che richiama quel template!

ora quando posso provo a scrivere qualcosa ma non garantisco ^_^... non conosco bene i meccanismi che entrano in gioco tra php e javascript/ajax

<button id="faccine_trattore" onclick="return show_popup_emo();">Click me</button><?$emoArray = array();$start    = intval( $this->request['pg'] );/* Get all emoticons for this skin */if ( $this->memberData['g_shoutbox_use'] && $this->settings['shoutbox_allow_smilies'] ){    foreach( $this->cache->getCache('emoticons') as $emo )    {        if ( $emo['emo_set'] == $this->registry->output->skin['set_emo_dir'] )        {            $emoArray[] = array( 'text' => addslashes( $emo['typed'] ), 'image' => $emo['image'] );        }    }}/* Elements for constructing pages */$total    = count( $emoArray );$emoArray = array_slice( $emoArray, $this->settings['shoutbox_emos_perpage']*$start, $this->settings['shoutbox_emos_perpage'] );$html     = count( $emoArray ) ? $this->registry->output->getTemplate('shoutbox_hooks')->hookGlobalShoutboxEmoticons( $emoArray, $total, $start-1, $start+1 ) : '';print "<script type='text/javascript'>function show_popup_emo(){document.getElementById('demo').innerHTML = '";echo $html;print "';}</script>";print "<p id='demo'></p>";
/applications_addon/other/shoutbox/modules_public/ajax/coreAjax.php

non riesco mi dispiace :( lo immaginavo ... prova a contattare su invisionpower.com aprendo un topic di supporto, sicuramente qualcuno ti aiuta su questo ;)

  • Like 1
Link al commento
Condividi su altri siti

  • 0

forse ci sono ... bisogna provare a lavorare sulle classi css da class=hide bisogna rimuoverlo quando viene cliccato sul tasto... nn è un granchè ma almeno dovrebbe andare. poi occorre collegare il modulo delle emoticon con l'editor/textarea e poi sarebbe fatta!

Link al commento
Condividi su altri siti

  • 0

tutto questo casino x un tasto che richiam delle emo...mi chiedo perche quelli di ipb non mettono di default un tsto per gli smile...c'è così tanta roba all'avangurdia poi si perdono in cazzate....mah

  • Like 1
Link al commento
Condividi su altri siti

  • 0

Bomale come hai fatto a diventare cosi bravo?

ho lavorato un po sugli hook, un pò sulle pagine php, provenendo da una discreta esperienza in html e css... è stato esaltate vedere come il php interagisse con tutto, poi appena 1 anno fa sono andato in profondità con ipboard e con xampp e xdebug riesci a controllare i meccanismi che compongono il sistema...

ho avuto una breve esperienza con wordpress, phpbb ma mi ritengo ancora inesperto perchè nella pratica me la cavo un pò ma non raggiungo ancora ad un livello "professionale" dove sai di preciso come fare una determinata cosa (non capita quasi mai di scrivere lo stesso codice anche se il funzionamento è lo stesso... con ipboard però c'è una linea guida che ti riporta a memorizzare/imparare una fase del lavoro facendoti risparmiare tempo).

Infine unico consiglio è leggere attentamente le poche guide che ci sono su invisionpower, e poi fare dei piccoli esercizi usando cose imparate prima e quelle appena apprese... poi se hai le risorse potresti vedere come lavorano gli altri sugli script nel marketplace, e devo dire che imparare l'inglese serve più che mai in questo campo :( altrimenti vieni tagliato fuori...

 

tutto questo casino x un tasto che richiam delle emo...mi chiedo perche quelli di ipb non mettono di default un tasto per gli smile...c'è così tanta roba all'avangurdia poi si perdono in cazzate....mah

magari c'è un altro template o oppure potresti caricare l'editor completo invece del textarea... ci sono molte soluzioni ma preferisco anche io lasciare un campo e affiancargli un pulsante per le emoticon.

http://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/editor-bbcode-r146

http://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/34-editor-and-parsing-methods-r229

con l'editor lo script si interrompe perchè non trova un $('statusUpdate_page') mentre con l'input si :/ quindi se metti l'editor non ci saranno controlli ajax

post-29-0-49492500-1395572968_thumb.png

  • Like 1
Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.