[RISOLTO]cercare parola in una sezione e fare azione

16 contenuti / 0 new
Ultimo contenuto
[RISOLTO]cercare parola in una sezione e fare azione

ciao a tutti stavo cercando un modo per uno script che legga i tag.... e se vede quella data parola accorcia il testo di un tot....
per troncare il testo uso il plugin jtruncate:
il mio script è il seguente....

if ($(".views-row-1 #tag-progetto-w .a:contains('evento')")){
$('.views-row-1 .prev-home p').jTruncate({
  length: 150,
  ellipsisText: "...",
}),
$('.truncate_more_link').addClass('zero');
}

il codice in questione non funziona, devo trovare assolutamente il modo di farlo funzionare....
se provato su di un'altra 'row' con tag diversi e senza il tag 'evento' accorcia lo stesso il testo.... come posso fare???

Scusa ma a che ti serve js? O fai con view o con magari con la funzione http://drupalcontrib.org/api/drupal/contributions--views--views.module/f... (sempre di views, deve essere attivo).
Nel tuo codice quella parola deve essere un link? o di classe a? Ne sei sicuro?

con views come faccio a farlo???? se sappessi come farlo in views lo farei al volo....
il problema è che se esiste solo quel tag deve tagliare il testo altrimenti no...
con il lnk che mi hai passato come funziona????

Immagino usi quel tag per dire stop, quindi è un identificativo univoco, cioè una parola che nessuno mai scriverà, puoi invece usare altri modi come il teaser o vari moduli: http://drupal.org/node/108192

no no non è che uno scrive 'evento' ed il testo si ferma.... a me serve che se fa parte della sezione 'evento' della tassonomia accorci il testo perchè sotto ci deve stare la data di inizio evento e la fine.... il problema è che nella prima pagina del sito ci saranno post anche di altre sezioni.... e non mi pare che con views io possa tagliare il testo di una field ('corpo'), già tagliata, in relazione ad un'altra field ('tag')....

Ok, forse to serve quella funzione, solo una cosa se io mi vedo eventi in mezzo a news faccio confusione, non ti conviene separarle?
Prova a cambiare in
if ($(".views-row-1 #tag-progetto-w:contains('evento')")){
Se normalmente funziona sbagli qualche tag, devi solo fare delle prove e se ci dai del codice su cui lavorare.

avevo già provato a fare cosi ma non funziona per quello ho aggiunto 'a'(link) per farlo pescare direttamente da li....
ecco il codice html

<li class="views-row views-row-1 views-row-odd views-row-first contenuto">
  <div class="views-field views-field-title titolo-w">
<p class="field-content titolo">evento test</p>  </div>
  <div class="views-field views-field-created data-w">
  <div class="field-content data">11.08.2011</div>  </div>
          <div class="field-content img-post-1">
  <a href="http://192.168.1.102/bruno/sites/default/files/yabasta/5377715421_3d78ea... title="evento test" class="colorbox imagefield imagefield-imagelink init-colorbox-processed-processed cboxElement" rel="gallery-4">
  <img typeof="foaf:Image" src="http://192.168.1.102/bruno/sites/default/files/styles/post/public/yabast... alt="" title="evento test">
  </a>
  </div>
  <div style="display: block;" class="views-field views-field-field-img-yabasta img_post-wrapper">
  <div class="field-content img_post"></div>  </div>
  <div style="display: block;" class="views-field views-field-field-img-yabasta-2 img_post-wrapper2">
  <div class="field-content img_post2"></div>  </div> 
  <div class="field-content prev-home zero">
  <p style="display: none;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur est nec ligula accumsan faucibus. Mauris semper neque at dui cursus cursus. Sed<span class="truncate_ellipsis">...
  </span>
  <span style="display: none;" class="truncate_more"> sapien lorem, interdum sit amet consectetur id, ultrices at ipsum. Maecenas tincidunt blandit metus, non lacinia tortor..</span>
  <div class="clearboth">
  <a href="#" class="truncate_more_link zero">more</a>
  </div>
  </p>
  </div>
  <div class="views-field views-field-body body-w">
          <div class="field-content body"><p style="display: inline-block;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur est nec ligula accumsan faucibus. Mauris semper neque at dui cursus cursus. Sed sapien lorem, interdum sit amet consectetur id, ultrices at ipsum. Maecenas tincidunt blandit metus, non lacinia tortor ullamcorper posuere. Integer placerat auctor lorem, et vestibulum turpis placerat ut. Cras id libero vel risus pellentesque porttitor. Duis vehicula metus id nulla dapibus aliquam. In in ante in mauris pharetra adipiscing a in elit. Aliquam mauris nunc, commodo id tincidunt in, dapibus sit amet justo. Nunc ligula tellus, luctus ac porta nec, gravida pharetra orci.</p>
</div>
</div>
  <div style="display: block;" class="views-field views-field-field-evento-yabasta event-post event-post-dal">    Dal:    <span class="date-display-single">08/26/2011 - 16:08</span>  </div>
  <div style="display: block;" class="views-field views-field-field-evento-yabasta-1 event-post event-post-al">    al:    <span class="date-display-single">08/27/2011 - 18:00</span>  </div>
  <div style="display: block;" class="views-field views-field-field-progetto tag-progetto-w">    Tag:        <div class="field-content tag-progetto">
  <a href="/bruno/taxonomy/term/6" typeof="skos:Concept" property="rdfs:label skos:prefLabel">evento</a>

è un po incasinato il codice lo ho tirato giu con firefox

non vedi la classe .prev-home perchè è nascosta con jquery

Ma io non vedo nemmeno #tag-progetto-w, inoltre con .views-row-1 prende solo la prima riga del risultato di views. Dato che alla fine devi sempre inserire te il link di break non ti conviene usare il modulo?

aggiornamento:
il seguente codice è sbagliato.....

if ($(".views-row-1 #tag-progetto-w .a:contains('evento')")){
$('.views-row-1 .prev-home p').jTruncate({
  length: 150,
  ellipsisText: "...",
}),
$('.truncate_more_link').addClass('zero');
}

deve essere:

if ($(".views-row-1 .tag-progetto-w .a:contains('evento')")){
$('.views-row-1 .prev-home p').jTruncate({
  length: 150,
  ellipsisText: "...",
}),
$('.truncate_more_link').addClass('zero');
}

non era #tag-progetto-w ma .tag-progetto-w, comunque non funziona.....

che modulo è che dici scusa??? uso drupal 7

se provo a fare semplicemente

$(".views-row-1 .tag-progetto-w a:contains('evento')").css("background-color", "#000");

funziona...
quindi la parola in se la trova....

ma come faccio a farlo funzionare???? il testo è già tagliato.... dici che l'utente se lo deve mettere a mano da solo nel body quando lo crea?

Si, potrebbe essere un modo, così sei tu che decidi quando tagliarlo.

no no, lo deve fare in automatico... lo spazio nel preview del post è limitato e avendo creato la pagina con la vista non posso modificare il taglio.... altrimenti lo modifico a tutti.... penso che usando jquery sia l'unica soluzione.....
ma non funziona

risolto....

$(".views-row-1 .tag-progetto-w a").each(function(){
  if($(this).html() == "evento"){
    $('.views-row-1 .prev-home p').jTruncate({
  length: 150,
  ellipsisText: "...",
}),
$('.truncate_more_link').addClass('zero');
  }

funziona a bomba....