Trikovi za poboljsanje vaseg foruma

Started by Dzonny, May 31, 2009, 08:54:29 AM

Previous topic - Next topic

Dzonny

Nisi dobro ubacio kod u index.template.php
Evo kako to radi kod mene na test forumu:
http://crazy.phpnet.us/blah/index.php

Dzonny

Unapred ispisan text u postu.



Themes/VasaTema/Post.template.php:

1. Ako zelite da se text prikazuje u svakom odgovoru u temi.


// Finally the most important bit - the actual text box to write in!
echo '
<tr>
<td valign="top" align="right"></td>
<td>
<textarea class="editor" name="', $context['post_box_name'], '" rows="', $context['post_box_rows'], '" cols="', $context['post_box_columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '"', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? ' style="border: 1px solid red;"' : '', '>', $message, '</textarea>
</td>
</tr>';

Promenite sa ovim:
// Finally the most important bit - the actual text box to write in!
echo '
<tr>
<td valign="top" align="right"></td>
<td>
<textarea class="editor" name="', $context['post_box_name'], '" rows="', $context['post_box_rows'], '" cols="', $context['post_box_columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '"', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? ' style="border: 1px solid red;"' : '', '>', $context['current_board'] == 1 ? '1) Script Title:
2) More Stuff:' : '' .' ', $message, '</textarea>
</td>
</tr>';

Naravno ovaj text:
1) Script Title:
2) More Stuff
...zamenite sa onim koji hocete da se prikaze u postu.


2. Ako zelite da se text pojavljuje samo prilikom pokretanja teme tj u prvom postu.

// Finally the most important bit - the actual text box to write in!
echo '
<tr>
<td valign="top" align="right"></td>
<td>
<textarea class="editor" name="', $context['post_box_name'], '" rows="', $context['post_box_rows'], '" cols="', $context['post_box_columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '"', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? ' style="border: 1px solid red;"' : '', '>', $context['current_board'] == 1 && $context['is_first_post'] ? '1) Script Title:
2) More Stuff:' : '' .' ', $message, '</textarea>
</td>
</tr>';



3. Ako zelite da ovo aktivirate u vise foruma.

$which_boards = array(1,2,3);

// Finally the most important bit - the actual text box to write in!
echo '
<tr>
<td valign="top" align="right"></td>
<td>
<textarea class="editor" name="', $context['post_box_name'], '" rows="', $context['post_box_rows'], '" cols="', $context['post_box_columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '"', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? ' style="border: 1px solid red;"' : '', '>', in_array($context['current_board'],$which_boards) && $context['is_first_post'] ? '1) Script Title:
2) More Stuff:' : '' .' ', $message, '</textarea>
</td>
</tr>';
}



Napomena:
Promenite ID Boarda (Foruma) u kodu, zavisno od toga u kom forumu/podforimu zelite da se text pojavljuje.
$context['current_board'] == 1

Dzonny

#42
Koriscenje Pretrage pre postavljanja nove teme



Dakle u odredjenom delu foruma mozete ukljuciti 'obavestenje' korisnicima da koriste pretragu pre postovanja teme. Upozorenje se pojavljuje iznad prozora za text, a poziiciju i text mozete promeniti i oblikovati prema svojim potrebama.

Themes/VasaTema/Post.template.php

Nadjite:
function template_main()
{
   global $context, $settings, $options, $txt, $scripturl, $modSettings;


Dodajte ovaj kod posle:
// Display a notice to SEARCH for an answer first
      if ( $context['num_replies'] == 0 &&  $context['current_board'] == X) {
    echo ' <center> Please remember to search the forum before asking questions in this board.</center>';
      }

Zamenite "X" sa ID Foruma u kojem zelite da se upozorenje prikazuje.


Za ubacivanje notifikacije u vise foruma odjednom koristite sledeci kod:

    // Display a notice to SEARCH for an answer first
    $msgboards = array(1, 2, 3); // The board ids to display the message.
    if ($context['num_replies'] == 0 &&  in_array($context['current_board'], $msgboards)) { // Check if it's a new topic and the current board is in the array.
        echo ' <center> Please remember to search the forum before asking questions in this board.</center>'; // Echo you message
    } // End the if statement



Djetic FMM

Da ne otvaram novu temu...jer se i ovo moze svrstati u trik za sredjivanje foruma ;D


Zanima me da li je moguce na SMF da kad se napravi neki novi pod forum u njegovom opisu stavi neka slichica. Vidio sam na vBulletin da je moguce na primer u ovome sluchaju oni su stavvili zvjezdice !

NPR.     naziv foruma :  AUTOMOBILI
            opsi foruma:     zvezdice

Dzonny

Naravno, opis mozes oblikovati kako hoces pomocu html-a...

Djetic FMM

ako nije problem malo objashnjenja  ::)


Dzonny

html.
http://www.w3schools.com/html/html_images.asp

Dakle ovako nekako:
<img src="adresa slike" />
Naravno mozes dodati jos neke atribute, za vise informacija pogledaj link.

Djetic FMM


Dzonny

#48
Rotirajuci text oko kursora



Napravite fajl /Themes/{default_theme}/cursor.js

/* Circling text trail- Tim Tilton
   Website: http://www.tempermedia.com/
   Visit: http://www.dynamicdrive.com/ for Original Source and tons of scripts
   Modified Here for more flexibility and modern browser support
   Modifications as first seen in http://www.dynamicdrive.com/forums/
   username:jscheuer1 - This notice must remain for legal use
   */

;(function(){

// Your message here (QUOTED STRING)
var msg = "Dynamic Drive! Scripts & More!"; // Place your message in the quotes.

/* THE REST OF THE EDITABLE VALUES BELOW ARE ALL UNQUOTED NUMBERS */

// Set font's style size for calculating dimensions
// Set to number of desired pixels font size (decimal and negative numbers not allowed)
var size = 24;

// Set both to 1 for plain circle, set one of them to 2 for oval
// Other numbers & decimals can have interesting effects, keep these low (0 to 3)
var circleY = 0.75; var circleX = 2;

// The larger this divisor, the smaller the spaces between letters
// (decimals allowed, not negative numbers)
var letter_spacing = 5;

// The larger this multiplier, the bigger the circle/oval
// (decimals allowed, not negative numbers, some rounding is applied)
var diameter = 10;

// Rotation speed, set it negative if you want it to spin clockwise (decimals allowed)
var rotation = 0.4;

// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 or a decimal less than one (decimals allowed, not negative numbers)
var speed = 0.3;

////////////////////// Stop Editing //////////////////////

if (!window.addEventListener && !window.attachEvent || !document.createElement) return;

msg = msg.split('');
var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20,
ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [],
o = document.createElement('div'), oi = document.createElement('div'),
b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement : document.body,

mouse = function(e){
e = e || window.event;
ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position
xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position
},

makecircle = function(){ // rotation/positioning
if(init.nopy){
  o.style.top = (b || document.body).scrollTop + 'px';
  o.style.left = (b || document.body).scrollLeft + 'px';
};
currStep -= rotation;
for (var d, i = n; i > -1; --i){ // makes the circle
  d = document.getElementById('iemsg' + i).style;
  d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) + 'px';
  d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px';
};
},

drag = function(){ // makes the resistance
y[0] = Y[0] += (ymouse - Y[0]) * speed;
x[0] = X[0] += (xmouse - 20 - X[0]) * speed;
for (var i = n; i > 0; --i){
  y[i] = Y[i] += (y[i-1] - Y[i]) * speed;
  x[i] = X[i] += (x[i-1] - X[i]) * speed;
};
makecircle();
},

init = function(){ // appends message divs, & sets initial values for positioning arrays
if(!isNaN(window.pageYOffset)){
  ymouse += window.pageYOffset;
  xmouse += window.pageXOffset;
} else init.nopy = true;
for (var d, i = n; i > -1; --i){
  d = document.createElement('div'); d.id = 'iemsg' + i;
  d.style.height = d.style.width = a + 'px';
  d.appendChild(document.createTextNode(msg[i]));
  oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0;
};
o.appendChild(oi); document.body.appendChild(o);
setInterval(drag, 25);
},

ascroll = function(){
ymouse += window.pageYOffset;
xmouse += window.pageXOffset;
window.removeEventListener('scroll', ascroll, false);
};

o.id = 'outerCircleText'; o.style.fontSize = size + 'px';

if (window.addEventListener){
window.addEventListener('load', init, false);
document.addEventListener('mouseover', mouse, false);
document.addEventListener('mousemove', mouse, false);
  if (/Apple/.test(navigator.vendor))
   window.addEventListener('scroll', ascroll, false);
}
else if (window.attachEvent){
window.attachEvent('onload', init);
document.attachEvent('onmousemove', mouse);
};

})();


/Themes/{default_theme}/style.css

Dodajte na kraju fajla:
/* Circle Text Styles */
#outerCircleText {
/* Optional - DO NOT SET FONT-SIZE HERE, SET IT IN THE SCRIPT */
font-style: italic;
font-weight: bold;
font-family: 'comic sans ms', verdana, arial;
color: #000;
/* End Optional */

/* Start Required - Do Not Edit */
position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;}
#outerCircleText div {position: relative;}
#outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;}
/* End Required */
/* End Circle Text Styles */


/Themes/{default_theme}/index.template.php
Nadjite:
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/script.js?fin11"></script>
Dodati posle:
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>


Napomena: cursor.js promenite prema svojim potrebama. Mozete editovati text koji se prikazuje, brzinu rotiranja, velicinu, oblik, boju texta kao i razmak izmedju slova...

Ukoliko zelite da text vide samo gosti:
/Themes/{default_theme}/index.template.php

Nadjite:
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>
Zamenite sa:
';
if (!$context['user']['is_logged']) {
echo'   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>';
}

echo'

[̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶

Ovo je super stvar :d ovaj text...pogotovo sto moze stavit samo za goste..nego dzonny da te pitam..sta da napravim..ako imam malo duzi text... onda mi se slova preklapaju...pocetak zadnje rijeci i zavrsetak prve rijeci..ima tome lijeka? To govorim ako npr mis stoji..ako ga mices..onda se mice i sve ostalo..tako da.. :)

Dzonny

Jedino da smanjis razmak izmedju slova u cursor.js...
Nije ovo predvidjeno za duge textove, tako da bolje staviti tu samo neki kratak text, slogan etc...
btw, jesi li uspeo da ubacish ovo? (pitam zbog pm)
Samo ubaci u fajlove svoje teme.

Dzonny

Pol: Text umesto slicice


Display.Template.php:


Nadjite:
($message['member']['gender']['image'])

Zameniti sa:
($message['member']['gender']['name'])


Nadjite:
', $message['member']['gender']['image'], '

Zamenite sa:
', $message['member']['gender']['name'], '

[̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶

Quote from: Dzonny on July 09, 2009, 02:40:38 AM
Jedino da smanjis razmak izmedju slova u cursor.js...
Nije ovo predvidjeno za duge textove, tako da bolje staviti tu samo neki kratak text, slogan etc...
btw, jesi li uspeo da ubacish ovo? (pitam zbog pm)
Samo ubaci u fajlove svoje teme.

Jesam Dzonny hvala ti na pomoci..a bio je zajeb sto imam sve fajlove od default teme, jer imam default green... ali ta tema ko i svaka ima svoj style.css... a ja ubacio kod u style.css od defaulte teme..pa zato nije radio..ali sad je sve ok..a sto se tice texta..imam svoj link..pa mi malo cudno izgleda..a jel ti problem mi reci koji tocno dio trebam promijenit za razmak?

PS: kakav je ovo novi trik? Imas kakav screen? Pozdrav..

Dzonny

var letter_spacing = 5;
Smanji vrednost koliko hocesh...

Umesto slicice npr ove - prikazuje text...

dioda

Moze se jednostavno obrisati slicica i onda ce umesto nje stajati tekst :)

[̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶

Ajojjj jesam glup :) mi kazemo SPOL, a vi kazete POL... a ja vidim Pol.. pa sam mislio da je Poll :D hahaha kao anketa..joj jesam glup :) i da hvala Dzonny za spacing :)

Dzonny

Quote from: dioda on July 09, 2009, 10:23:11 AM
Moze se jednostavno obrisati slicica i onda ce umesto nje stajati tekst :)
Pa probaj to da uradish.. :P
Vucice sliku, a ovako prosto pokazuje text.

Quote from: [̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶ on July 09, 2009, 10:28:52 AM
i da hvala Dzonny za spacing :)
Nema na chemu.. :D

[̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶

E Dzonny samo da te jos pitam..ovaj text..jel se moze promijenit boja mozda? Sirinu sam sredio..pa bi jos stavio zelenu boju slova posto mi je forum zelen... :)

Dzonny

style.css
Nadji:
color: #000;
i promeni u koju boju hocesh...  8)

Samker


Moderatori, predlažem da ovu Temu "Stickujete"...

Veoma Korisno !

Hvala Dzonny.
Samker's Computer Forum - SCforum.info

Advertisement: