Vai al contenuto

ip content e o stato a cosa stai pensando

Featured Replies

Inviato

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

Inviato

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

Inviato
  • Autore

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

Inviato

ma no!!! il template del blocco

Inviato
  • Autore

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...

Inviato

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

Inviato

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)

Inviato
  • Autore

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

Inviato

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

Inviato
  • Autore

grazie infinite provo se va

Inviato
  • Autore

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

Inviato

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

Inviato
  • Autore

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

Inviato

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)

Inviato
  • Autore

CHE dire sei un genio .... FANTASTICO... GRAZIE MILLE :D

Inviato

Bravi agazzi mi fate vedere il risultato?

Inviato
  • Autore

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..

Inviato

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 ;)

Inviato
  • Autore

thanks ... grazie x la dritta :D

Inviato
  • Autore

sara complicto da fare

Inviato

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!

Inviato
  • Autore

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

Inviato

Bomale come hai fatto a diventare cosi bravo?

Per favore accedi per lasciare un commento

Potrai lasciare un commento dopo aver effettuato l'accesso

Accedi Ora

Chi sta navigando 0

  • Nessun utente registrato visualizza questa pagina.

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.