Каково различие между темой и шаблоном?

Как вернуть строку из функции, которая предназначена для использования в printf в C?

В C99 или более поздней версии использовать составной литерал для временного хранения строк.

Сначала перепишите printRegister(), чтобы принять буфер char *.

#define  printRegister_N 7
// char * printRegister(int num) {
char * printRegister(char *reg, int num) {
  // char reg[] = "$error";
  // memset(reg, 0, sizeof(reg));
  memset(reg, 0, printRegister_N);  // not really needed anymore with compound literal
  ...
  return reg;
}

Сформируйте макрос, который вызывает printRegister() с составным литералом .

//                                   v---------------------------v  compound literal
#define PRINT_REG(num) printRegister((char [printRegister_N]){ 0 }, (num))

Затем позвоните PRINT_REG(num). Возвращенный char* (который является указателем на составной литерал ) действителен до конца блока. Нет *alloc(), free() необходимо.

printf("1st:%s  2nd:%s\n", PRINT_REG(0), PRINT_REG(1));

Код все еще использует обычные украшения для "%s", такие как "%-7s", "%.*s" и т. Д.

5
задан Eddie 25 February 2009 в 20:05
поделиться

7 ответов

В drupal тема обрабатывает появление сайта, и шаблон обрабатывает, как Ваше содержание представляется.

Думайте о нем как это: шаблон используется для рендеринга содержания, затем тема применяется на то содержание.

Править: Так, Ваши файлы CSS живут с темой в drupal и не имеют никакого отношения к шаблонам.

5
ответ дан 18 December 2019 в 13:19
поделиться

В Drupal "темой" является просто специальный тип плагина, который связывает вместе любое количество шаблонов (чтобы управлять, как данная часть данных представляется к HTML), CSS, файлы JS, изображения, и так далее.

Так, существует единственный "шаблон" для Вашей oveevral разметки страницы, единственный "шаблон" для того, как блок боковой панели представляется как HTML и так далее. Все они, связанные вместе и названный, упоминаются как тема.

4
ответ дан 18 December 2019 в 13:19
поделиться

Тема составлена из набора шаблонных файлов. block.tpl.php, node.tpl.php, page.tpl.php являются всеми шаблонными файлами, которые в сочетании с Вашим CSS, JS и изображения производят тему. Кроме того, темы могут быть наследованы. Тема может быть создана только с CSS и никакими дополнительными шаблонными файлами путем наследования существующей теме, в этом случае шаблонные файлы от родительской темы используются.

Другим способом посмотреть на него является тема, то, что Вы видите, и шаблонные файлы ответственны за генерацию разметки.

Я надеюсь, что это делает это немного более ясным.

2
ответ дан 18 December 2019 в 13:19
поделиться

Взгляд на него этот путь: возможно создать тему, которая не имеет никаких шаблонов. Такая тема имела бы файлы CSS, которые переопределяют файлы CSS drupal по умолчанию. Используя такую тему создал бы веб-сайт, который почти точно походит на сайт Drupal по умолчанию, кроме него имел бы различные цвета, шрифты и так далее.

Но если Вы хотите сменить положения объектов на странице, какие виды объектов находятся на странице и так далее, необходимо переопределить шаблоны по умолчанию путем добавления некоторых собственных к теме. Эти новые шаблоны позволяют Вам изменить, какую информацию Drupal отображает и какой HTML Drupal будет использовать для отображения его.

Например, скажите, что я хочу клонировать StackOverflow, но я хочу сделать это с Drupal. Первая вещь, которую я сделал бы, создают новый тип контента (назовите ее "вопросом"), который является точно так же, как история, но имеет дополнительные поля для отслеживания голосования и так далее. Шаблоны Drupal по умолчанию не будут знать об этих дополнительных полях, таким образом, они не отобразят их.

Так, что я делаю, я вхожу в свою тему, и я добавляю новый node.tpl.php файл. Этот новый шаблон точно так же, как стандартный кроме я могу добавить код, в котором говорится, "если этот узел имеет тип 'вопрос', вставьте голосующий гаджет слева от тела".

Это помогает?

3
ответ дан 18 December 2019 в 13:19
поделиться

Я смущен...

В первом ответе говорится, что шаблоны и темы не имеют никакого отношения друг к другу, в то время как второй говорит, что темами являются просто наборы ответов.

Какой является правильным?

0
ответ дан 18 December 2019 в 13:19
поделиться

Drupal имеет шаблон базирующаяся theming система. Вы можете определить свои собственные регионы на странице и можете расположить содержание согласно этому. Существует некоторый шаблонный файл по умолчанию, такой как page.tpl, block.tpl, node.tpl, которые отображают другой вид содержания. Можно записать собственный шаблонный файл по мере необходимости для, например, если необходимо изменить дисплей формы регистрации пользователя или страницы входа в систему, можно создать tpl файл для этого и иметь для перенаправления данных к этому tpl файл. Можно добавить CSS или js к этим шаблонам с помощью drupals пчелу. Это перенаправление должно быть сделано в темах template.php файл

0
ответ дан 18 December 2019 в 13:19
поделиться

Тема состоит из файлов CSS, JS, изображений и шаблонов. Каждая тема может включать несколько файлов шаблонов.

Кроме того, темы могут быть унаследованы, и файлы шаблонов подтем могут переопределять файлы шаблонов своей родительской темы.

0
ответ дан 18 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: