Jump to content
mruoppolo

php e sass

Recommended Posts

Olá, tudo bem?

 

Eu estou criando alguns temas premium wordpress e criei um painel onde o usuário seleciona todas as cores e estilos do CSS, porém para que estas cores e estilos tenham efeito no site, elas precisam ser inseridas pelo php no sass ou no css diretamente, ai que esta o problema.

 

Eu fiz o seguinte, criei um arquivo chamado custom.php mais ou menos assim:

 

<style>
#loader p {
	color: <?php echo $preloader_typography_color; ?>;
	font-style: <?php echo $preloader_typography_style; ?>;
	font-family: <?php echo $preloader_typography_font; ?>;
	font-size: <?php echo $preloader_typography_size; ?>;
	line-height: <?php echo $preloader_typography_line; ?>;
	text-align: <?php echo $preloader_typography_align; ?>;
}
</style>

E dou um include nele bem no header, funciona, porém eu não sei se é a solução mais indicada, como os temas premium são para venda, eu fiquei na dúvida se esta é a maneira correta de fazer.

 

Eu uso muito sass para desenvolver e como tem as variáveis do sass eu pensei se o correto não seria o sass ser compilado diretamente no navegador e estes dados serem inseridos diretamente nas variáveis do sass, mas não sei se isto é possível.

 

Então qual a sua opinião, a forma que estou fazendo é a mais indicada?? Você conhece alguma outra solução mais profissional?

 

Muito obrigado :D

Share this post


Link to post
Share on other sites
1 hora atrás, ESerra disse:

Em primeiro lugar, o que é sass?

 

O Sass é uma linguagem baseada em CSS , tipo assim, ele permite utilizarmos estruturas de programação dentro do CSS, como por exemplo, laços de repetição 'foreach' e talz variáveis, é bem legal, eu vou escrevendo um arquivo style.scss como se fosse uma programação, coloco variáveis, laços de repetição, posso usar o comando extend para puxar os atributos de uma classe para dentro da outra e ele vai automaticamente compilando tudo em um arquivo css.

 

O problema é que pra funcionar eu preciso deixar o meu CMD (terminal do windows) aberto e "ouvindo" tudo o que eu digito no arquivo scss ai toda vez que eu salvo, ele compila em css e não sei como fazer isso no servidor.

Share this post


Link to post
Share on other sites

No php você pode passar o header do arquivo como css e chamar de forma externa

custom.php

<?php
header("Content-type: text/css; charset: UTF-8");
?>

#loader p {
	color: <?php echo $preloader_typography_color; ?>;
	font-style: <?php echo $preloader_typography_style; ?>;
	font-family: <?php echo $preloader_typography_font; ?>;
	font-size: <?php echo $preloader_typography_size; ?>;
	line-height: <?php echo $preloader_typography_line; ?>;
	text-align: <?php echo $preloader_typography_align; ?>;
}

para chamar, ao invés de usar .css, use .php

<link rel='stylesheet' type='text/css' href='css/custom.php?id=1' />

Está é uma forma, a outra é usar arquivos JS, exemplo seria o próprio jquery para trabalhar nos elementos.

 

A vantagem é que você pode criar os caches, tanto em CSS quanto JS e compressão do arquivo.

 

  • +1 1

Share this post


Link to post
Share on other sites

Até onde eu sei só da pra compilar o Sass localmente, pelo menos nunca consegui fazer de outra forma kk...

Quanto ao jeito de fazer, à minha mente veem 3 formas:

• A que você já citou, de incluir diretamente no HTML...

• Como o Williams falou, setando o header como text/css

• E por último, dando um file_get_contents() e posteriormente um file_put, com as novas cores

  • +1 1

Share this post


Link to post
Share on other sites

 

13 horas atrás, Mateus Silva disse:

• E por último, dando um file_get_contents() e posteriormente um file_put, com as novas cores

 

Existe formas mais elegantes e uma delas é via htaccess


Forçar o arquivo .css ou .js interpretar tags php 

 

Exemplo

 

index.html

css/
      /.htaccess

      /custom.css
 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Fundo Cinza</title>
        <link rel='stylesheet' type='text/css' href='css/custom.css?cor=blue' />
    </head>
    <body>

        <h1>Cor Branca</h1>
        <span class="cor">Cor Azul</span>

    </body>
</html>

 

.
/css/.htaccess

 

<FilesMatch "\.(css)$">
    SetHandler application/x-httpd-php
</FilesMatch>


/css/custom.css

 

<?php
header("Content-type: text/css; charset: UTF-8");

$cor = isset($_GET['cor']) ? $_GET['cor'] : null;
$body = "#ccc";
$h1 = "#fff";
?>

body {
    background: <?= $body ?>;
}

h1 {
    color: <?= $h1 ?>;
}

.cor {
    color: <?= $cor ?>;
}





 

  • +1 2

Share this post


Link to post
Share on other sites
1 hora atrás, Williams Duarte disse:

 

 

Existe formas mais elegantes e uma delas é via htaccess


Forçar o arquivo .css ou .js interpretar tags php 

 

Exemplo

 

index.html

css/
      /.htaccess

      /custom.css
 


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Fundo Cinza</title>
        <link rel='stylesheet' type='text/css' href='css/custom.css?cor=blue' />
    </head>
    <body>

        <h1>Cor Branca</h1>
        <span class="cor">Cor Azul</span>

    </body>
</html>

 

.
/css/.htaccess

 


<FilesMatch "\.(css)$">
    SetHandler application/x-httpd-php
</FilesMatch>


/css/custom.css

 


<?php
header("Content-type: text/css; charset: UTF-8");

$cor = isset($_GET['cor']) ? $_GET['cor'] : null;
$body = "#ccc";
$h1 = "#fff";
?>

body {
    background: <?= $body ?>;
}

h1 {
    color: <?= $h1 ?>;
}

.cor {
    color: <?= $cor ?>;
}





 

 

Muito obrigado pessoal, eu vou utilizar esta solução via htaccess, mas agradeço a todos :)

Share this post


Link to post
Share on other sites

Lembrando que, o exemplo com .htaccess é para Apache, para outros como nginx teria que converter.


http://nginx.org/en/docs/http/ngx_http_core_module.html

A primeira opção lá em cima, fica independente, se é apache ou nginx vai rodar, já que boa parte dos usuários wordpress, vem migrando para nginx.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigo, saudações...

      por favor, me perdoa se postei na opção errada.
       
      estou com a seguinte dúvida.
       
      tenho o seguinte código no cadastro: 1234 0000 4320 9785
       
      como consigo mostrar /inibir os números no meio, para o usuário desta forma: 1234********9785
       
      Grato,
       
      Cesar
    • By Rodrigo5468
      Olá, boa tarde!
       
      Eu estava procurando na internet, mas não obtive nenhum resultado significativo.
      Eu preciso de um script em php que converte os links do youtube para o formato .mp4. Como que eu posso fazer isso? Alguma dica?
      Quero que quando o usuário informa o link do youtube no input e clica no botão de converter baixe o vídeo e faz a conversão para .mp4 e fornece para o usuário o link convertido para .mp4.
       
       
      Obrigado desde já.
    • By k9studio
      Olá Amigos,
      tenho essa tabela abaixo e estou apanhando para listar os dados e fazer validação,
      alguém pode ajudar como chamar os dados e validar mostrar o nome somente se estiver visible=on  

       
      CREATE TABLE `system` (   `namesystem` text COLLATE utf8_unicode_ci NOT NULL,   `setting` text COLLATE utf8_unicode_ci NOT NULL,   `value` text COLLATE utf8_unicode_ci NOT NULL,   `order` int(1) NOT NULL,   KEY `namesystem_setting` (`namesystem`(32),`setting`(32)),   KEY `setting_value` (`setting`(32),`value`(32)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; como os dados estão na tabela:
       
      namesystem setting   value   order (honda)    (name)   (Honda)   1 (honda)    (xtts)   (ok)      0    (honda)   (visible)  (on)      0    (toyota)    (name)   (Toyota)  2 (toyota)    (xtts)   (ok)      0    (toyota)  (visible)  (on)      0    
    • By iguulima
      É possivel realizar uma consulta SQL em duas colunas da mesma tabela usando outra função que não seja o AND ou OR? Segue o meu Select ate agora:
       
      (SELECT * FROM product WHERE comid = $idcom AND status = 'Ativo' AND categ = $category AND nameprod like'%$search%'  ORDER BY id DESC)  
      Por exemplo se eu colocar um AND após buscar o nameprod, no nome do produto não tiver a palavra chave ele também não irá buscar. Ou se colocar um OR ele anulo as outras condições até onde eu sei.
      Iniciante em programação.
    • By fideles
      Caros,
       
      Venho por uma duvida que esta cruel comigo. Explico-lhes.
       
      Tenho um banco de dados contendo exatas 4 colunas (id, codigo, descricao, quantidade) e criei um relatorio no excel que me separa os codigos, neste caso seria 3 abas pq tenho somente 3 codigos internos (S = Solicitar, F = Forneceder, B = Baixado) e criei uma select com GROUP By codigo
       
      Ai no banco eu posso ter 30 codigos com S, 10 com F e 15 com B,
      SELECT * FROM solicitacoes WHERE n_solicitacao = '".$n_solicitacao."' GROUP BY codigo Acontece que essa instrução acima, lista somente a primeira linha de cada codigo, como que eu faço neste caso para ele listar todos codigos? Exibir no caso os 30 codigos com S, os 10 com F e os 15 com B ? 
       
      Estou comendo algo ou meu raciociono esta totalmente equivocado ?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.